開發(fā)環(huán)境構(gòu)建
GOPATH
- 在1.8版本前必須設(shè)置這個(gè)環(huán)境變量
- 1.8以及更高版本如果沒有設(shè)置,則使用默認(rèn)值
在Mac上GOPATH可以通過修改 ~/.bash_profile來設(shè)置
程序基本結(jié)構(gòu)
package main //包,表明代碼所在的模塊(包)和java以及dotnet 命名空間是相似的
import "fmt" //依賴關(guān)系引用 和java以及dotnet的using笛洛、import相似
//方法函數(shù)
func main(){
fmt.Println("Hello World!")
}
應(yīng)用程序入口
- 必須是main包:package main
- 必須是main方法: func main(){}
- 文件名稱不強(qiáng)制是main.go,也可以是index.go
退出返回值
- Go中main函數(shù)不支持任何返回值
- 通過os.Exit來返回狀態(tài) 需要import "os"
package hello
import (
"fmt"
"os"
)
func main() {
fmt.Println("Hello World")
os.Exit(-1)
}
執(zhí)行結(jié)果:
$ go run hello_world.go
Hello World
exit status 255
獲取命令行參數(shù)
- main函數(shù)不支持傳入?yún)?shù)
- 在程序中直接通過 os.Args 獲取命令行參數(shù)
示例代碼
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println(os.Args)
fmt.Println("Hello World")
}
輸出結(jié)果
$ go run hello_world.go zhang
[/var/folders/zg/0_xcqssx6pj7g8p96ppl66ww0000gn/T/go-build244907203/b001/exe/hello_world zhang]
Hello World
改進(jìn)后的代碼:
package main
import (
"fmt"
"os"
)
func main() {
if len(os.Args)>1 {
fmt.Println("Hello World",os.Args[1])
}else {
fmt.Println("Hello World")
}
}
輸出結(jié)果
$ go run hello_world.go zhang
Hello World zhang
示例代碼請(qǐng)?jiān)L問: https://github.com/wenjianzhang/golearning