会编程的羽流云
一、Go语言基础入门——第一个Go程序
前言
最近买了两本书准备学习一下Go语言,其中一本是《Go语言高并发与微服务实战》另外一本是《Go Web编程实战派》,第一本是为了深入了解一下Go语言在高并发中的魅力,买第二本的原因是因为刚刚从Java转到Go语言,所以想更快的学习一些工作中可能接触到的Go Web相关的知识。
众所周知,Go语言是Google于2009年开源的一门编程语言,原名GoLanguage也叫Golang。它可以在不损失应用程序性能的情况下极大地降低代码的复杂度。相比较其他编程语言,它具备了简洁、快速、安全、并行、有趣、开源、内存管理、数组安全、编译迅速等等一些列特点。
话不多少,我会先学习《Go Web编程实战派》这本书,跟随我一起走进Go语言学习的海洋吧!!!
环境安装(windows)
- 下载
安装包下载地址为:https://golang.org/dl/ 或 https://golang.google.cn/dl/。
- 安装
Windows 下可以使用 .msi 后缀(在下载列表中可以找到该文件,如go1.4.2.windows-amd64.msi)的安装包来安装。
- 配置
默认情况下 .msi 文件会安装在 c:\Go 目录下。你可以将 c:\Go\bin 目录添加到 Path 环境变量中。添加后你需要重启命令窗口才能生效。我们还可以创建一个工作目录,并将此工作目录配置在GOPATH下。
开启第一个程序
在安装完Go语言环境后,我们可以从一个万能的Hello World程序开启我们Go语言的第一个程序。
代码如下
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
进入文件所在目录,使用 go run 命令运行
C:\D\GoProject\FirstProject>go run TestHelloWorld.go
Hello World
提示也可以运行 go build 命令编译
C:\D\GoProject\FirstProject>go build TestHelloWorld.go
在windows中编译成功后,会生成TestHelloWorld.exe文件,运行如下命令:
C:\D\GoProject\FirstProject>TestHelloWorld.exe
Hello World
反思
包的声明
Go语言以“包”作为程序的管理单位。如果正常运行Go语言的源文件,则必须先声明它所属的包。每一个Go源文件的开头都是一个package声明,格式如下
package ×××
其中,package是声明包的一个关键字,×××是包名。一般来说,Go语言的包与所在文件夹有一一对应的关系。
Go语言的包具有如下几点特性:
一个目录下的同级文件属于同一个包。包名可以与其目录名不同。
main包是Go语言应用程序的入口包。一个Go语言应用程序必须有且仅有一个main包。如果一个程序没有main包,则编译的时候会报错,无法生成可执行文件。
包的导入
我们在代码中经常会使用到其他包的变量或者方法,这个时候我们需要使用到import语句进行包的导入。
import语句是用来导入程序中所依赖的包,有三种常见的方式进行包导入,格式如下:
import "package_name"
或者
import(
"package_name1"
"package_name2"
)
或者
import(
alias1 "package_name1"
alias2 "package_name2"
)
提示如果包没有被使用,则Go编译器会报编译错误。
如果只想初始化某一个包,不使用导入包的变量或者函数,可以使用下划线代替别名,但继续调用这个包,则会在编译时返回 “undefined 包名” 的错误。
main()函数
main()函数是Go语言应用程序的入口函数。main()函数只能声明在main包中,并且一个main包中有且仅有一个main()函数
main()函数是一个自定义函数。在Go语言中,所有的函数都是以关键字func开头的。定义格式如下:
func 函数名 (参数列表) (返回值列表){
函数体
}
具体说明
函数名:由字母、数字、下划线组成。其中第一个字符不能为数字,并且同一个包内函数名称不能重复。参数列表:一个参数由一个参数变量和参数类型组成,例如func zoo(id int, name string)。
返回值列表:可以是返回值类型列表,也可以是参数列表那样的变量名与类型的组合列表。
函数体:函数的 “{” 必须与函数名称在同一行,否则会报错。在函数体中每一行结尾处不需要分号作为结束符,编译器会帮我们添加,当然加上也是可以的。
结束语
至此我们已经对Go语言有了一个初步的认识并且我们的第一个Go语言的程序已经编写完成,是不是很简单,相信你已经爱上了这门语言。
优秀