## 开发环境构建
### GOPATH
1. 在1.8版本前必须设置这个环境变量
2. 1.8以及更高版本如果没有设置,则使用默认值
在Mac上GOPATH可以通过修改 ~/.bash_profile来设置
## 程序基本结构
```go
package main //包,表明代码所在的模块(包)和java以及dotnet 命名空间是相似的
import "fmt" //依赖关系引用 和java以及dotnet的using、import相似
//方法函数
func main(){
fmt.Println("Hello World!")
}
```
## 应用程序入口
1. 必须是main包:package main
2. 必须是main方法: func main(){}
3. 文件名称不强制是main.go,也可以是index.go
## 退出返回值
* Go中main函数不支持任何返回值
* 通过os.Exit来返回状态 需要import "os"
```go
package hello
import (
"fmt"
"os"
)
func main() {
fmt.Println("Hello World")
os.Exit(-1)
}
```
执行结果:
```shell
$ go run hello_world.go
Hello World
exit status 255
```
## 获取命令行参数
* main函数不支持传入参数
* 在程序中直接通过 os.Args 获取命令行参数
示例代码
```go
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println(os.Args)
fmt.Println("Hello World")
}
```
输出结果
```shell
$ go run hello_world.go zhang
[/var/folders/zg/0_xcqssx6pj7g8p96ppl66ww0000gn/T/go-build244907203/b001/exe/hello_world zhang]
Hello World
```
改进后的代码:
```go
package main
import (
"fmt"
"os"
)
func main() {
if len(os.Args)>1 {
fmt.Println("Hello World",os.Args[1])
}else {
fmt.Println("Hello World")
}
}
```
输出结果
```shell
$ go run hello_world.go zhang
Hello World zhang
```
示例代码请访问: [https://github.com/wenjianzhang](https://github.com/wenjianzhang)
有疑问加站长微信联系(非本文作者)