**本文系第二篇Golang语言学习教程**
# 创建Workspace
在上一章节设置好环境变量后,个人习惯创建一个go的用户用来进行Golang的学习。
```bash
# 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 项目。
```bash
$ 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**文件,代码如下
```go
package main //每一个 Go 文件都应该在开头进行 package name 的声明(译注:只有可执行程序的包名应当为 main)。表名该文件属于哪个包。
import "fmt" //引入了 fmt 包,用于在 main 函数里面打印文本到标准输出。
func main() {
fmt.Println("Hello,World!")
}
//func声明函数main,调用fmt包的Println函数做标准输出。{}中的内容称之为函数体。
```
# 运行Go程序
运行 Go 程序有多种方式,我们下面依次介绍。
1. 使用 **go run**命令:
```bash
$ go run helloworld.go //运行程序
Hello,World! //标准输出
```
2. 使用 **go install**命令:
```
$ go install hello //go 工具会在工作区中搜索 hello 包,并在工作区
$ ls /home/go/go/ //go install会在工作区下新建bin目录保存安装的程序
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 包中。将在后续的学习中不断了解特殊的函数**
有疑问加站长微信联系(非本文作者))