Golang 安装环境
下载地址
- 官方下载地址:https://golang.org/dl/
- 可能由于"某些原因",官方地址下载不了,可以使用国内的一个地址:https://studygolang.com/dl
我这边自己使用的电脑是 Windows OS,Windows 有两个版本,一个是
.msi
,一种是.zip
。前者直接安装,环境变量自动配置。后者需要自己配置环境变量。
安装
安装很简单,http://docs.studygolang.com/doc/install
检查安装
安装完成后,请重新启动命令行程序,然后运行以下命令以验证Go是否已经正确安装:
go version
开发工具
IntelliJ IDEA + Go 插件
:我常用 IntelliJ IDEA,所以我使用的是加 Go 插件的方式GoLand
:一个专门针对 Golang 的 IDELiteIDE
:也是一个专门针对 Golang 的 IDE
GOROOT 和 GOPATH
上面说了,选择 .msi 的方式会自动设置环境变量,共有两个环境变量设置:
- GOROOT:Golang 安装目录
- GOPATH:代码所在目录
GOPATH
我的 Golang 的代码目录结构一般是这样的
~/Golang
|-bin
|-pkg
|-src
|-项目1
|-项目2
|-项目3
|-第三方库项目
GOPATH 设置的目录即为:GOPATH = ~/Golang
,而在开发工具中打开的目录就是相对于项目的目录,如:~/Golang/src/项目1
Hello World
国际惯例,首先来看一个
Hello World
package main
import "fmt" // 我们需要使用 fmt 包中的 Println() 函数
func main() {
fmt.Println("Hello, world. 你好,世界!")
}
代码解读
每个 Go 源代码文件的开头都是一个 package
声明,表示该 Go 代码所属的包,包名并不需要和文件所在路径相同(Java 那种)。包是 Go 语言里最基本的分发单位,也是工程管理中依赖关系的体现。要生成 Go 可执行程序,必须建立一个名字为 main 的包,并且在该包中包含一个叫 main() 的函数(该函数是 Go 可执行程序的执行起点)。
Go 语言的 main() 函数不能带参数,也不能定义返回值。命令行传入的参数在 os.Args
变量中保存。如果需要支持命令行开关,可使用 flag 包。
在包声明之后,是一系列的 import
语句,用于导入该程序所依赖的包。由于本示例程序用到了 Println() 函数,所以需要导入该函数所属的 fmt 包。
有一点需要注意,不得包含在源代码文件中没有用到的包,否则 Go 编译器会报编译错误。这与下面提到的强制左花括号 {
的放置位置以及之后会提到的函数名的大小写规则,均体现了 Go 语言在语言层面解决软件工程问题的设计哲学。
所有 Go 函数(包括在对象编程中会提到的类型成员函数)以关键字 func 开头。一个常规的函数定义包含以下部分:
func 函数名(参数列表)(返回值列表) {
// 函数体
}
对应的一个实例如下:
func Compute(value1 int, value2 float64)(result float64, err error) {
// 函数体
}
Go 支持多个返回值。以上的示例函数 Compute() 返回了两个值,一个叫 result,另一个是 err。并不是所有返回值都必须赋值。在函数返回时没有被明确赋值的返回值都会被设置为默认值,比如 result 会被设为 0.0,err 会被设为nil。
Go程序的代码注释与C++保持一致,即同时支持以下两种用法:
/*
块注释
*/
// 行注释
相信熟悉 C 和 C++ 的读者也发现了另外一点,即在这段 Go 示例代码里没有出现分号。Go 程序并不要求开发者在每个语句后面加上分号表示语句结束,这是与 C 和 C++ 的一个明显不同之处。
你也可能会自然地把左花括号 {
另起一行放置,这样做的结果是 Go 编译器报告编译错误,这点需要特别注意:
syntax error: unexpected semicolon or newline before {
文章评论