本文系第二篇Golang语言学习教程
创建Workspace
在上一章节设置好环境变量后,个人习惯创建一个go的用户用来进行Golang的学习。
# useradd go
# su - go
在编写代码之前,我们首先应该建立 Go 的工作区(Workspace)。
在 Mac 或 Linux 操作系统下
- Go 工作区应该设置在 $HOME/go。所以我们要在 /home/go/目录下创建 go 目录。
- 所有 Go 源文件都应该放置在Workspace里的 src 目录下。所以在新建的go目录下创建src目录用于存放源文件。
- 所有 Go 项目都应该依次在 src 里面设置自己的子目录。所以在 src 里面创建一个目录 hello 来放置整个 hello world 项目。
$ mkdir -p go/src/hello
$ cd go/src/hello
而在 Windows 下,工作区应该设置在 C:\Users\YourName\go。所以请将 go 目录放置在 C:\Users\YourName。
编写代码
在/home/go/go/src/hello/目录下创建helloworld.go文件,代码内容如下
package main //每一个 Go 文件都应该在开头进行 package name 的声明(译注:只有可执行程序的包名应当为 main)。表明该文件属于哪个包。
import "fmt" //引入了 fmt 包,用于在 main 函数里面打印文本到标准输出。
func main() {
fmt.Println("Hello,World!")
}
//func声明函数main,调用 fmt 包的 Println 函数做标准输出。{}中的内容称之为函数体。
运行Go程序
运行 Go 程序有多种方式,我们下面依次介绍。
- 使用 go run命令:
$ go run helloworld.go //运行程序
Hello,World! //标准输出
- 使用 go install命令:
$ go install hello //go 工具会在工作区中搜索 hello 包,并在工作区下新建 bin 目录保存安装的程序
$ ls /home/go/go/
bin src
$ cd /home/go/go/bin
$ ls
hello //bin目录下生成hello的可执行包
$ ./hello //直接执行hello包
Hello,World!
编译代码
如果你希望能够编译这个程序,保存编译结果以备将来之用,可以用build子命令实现:
$ go build helloworld.go
$ ls
helloworld helloworld.go
$ ./helloworld
Hello,World!
go build和go install区别:
go build只对main包有效,在当前目录编译生成一个可执行的二进制文件,依赖包生成的静态库文件放在$GOPATH/pkg下。
go install一般生成静态库文件放在 GOPATH/pkg 目录下,文件扩展名为.a。
如果为main包,则会在 GOPATH/bin 下生成一个可执行的二进制文件。本例中helloworld.go是main包,所以没有在$GOPATH/pkg目录下生成.a文件。
main 是一个特殊的函数。整个程序就是从 main 函数开始运行的。main 函数必须放置在 main 包中。将在后续的学习中不断了解特殊的函数
以上为学习Golang开端篇