本节开始后续将更新Go系列文章。
本节主要阐述一个HelloWorld例子与C/C++、JAVA的不同之处,并加深学习理解。
可以直接通过go run来运行:
go run xxx.go
也可以类似于C/C++编译成二进制文件xxx,然后执行该二进制文件:
go build xxx.go
在C/C++中入口是main函数,在JAVA中也是main函数,而Go也是,但与JAVA不同之处在于必须是main包!
C/C++都支持返回值,可是Go不支持!必须通过os.Exit来返回状态!
os.Exit(code)
C/C++支持传入命令行参数,例如:
int main(int argc,char* argv[])
那么Go呢,是不支持的,没有下面这样写法!
function main(arg []string) {
}
那如何在main函数中获取输入的命令行参数呢?
那就得用os.Args来获取,它返回一个数组,第一个参数为build的二进制文件路径,后面为输入的参数。
基于以上原则,我们编写出下面带返回值的且接收输入参数的HelloWorld程序:
package main
import (
"fmt"
"os"
)
func main() {
if len(os.Args) >1 {
fmt.Println("Hello World",os.Args) // os.Args返回的是一个数组 第一个参数编译后的二进制文件 后面是依次输入的参
}
os.Exit(-1) // 异常退出 -1 正常退出0
}