1 首先来个一览无余
- 符合要求的main函数不能带参数
- 符合要求的main函数不能定义返回值
- 符合要求的main函数所在的包必须指定package为main包才能正常执行
- 符合要求的main函数中可以使用flag包来获取和解析命令行参数
2 解释下
首先前两个比较好理解,在这里就不多说了,第三个的意思就是:即使main函数所在的目录名称不是main,但是将package指定为main就可以正常执行:
最后一个,如何使用flag包来获取和解析命令行参数,我们演示下:
package main import ( "flag" "fmt" "os" ) func main() { //1 直接解析 var name = flag.String("name", "default name", "usage") //2 先声明变量 再解析 var name2 string flag.StringVar(&name2, "name2", "default name", "usage of name") //1和2 之后都要有这个操作 flag.Parse() fmt.Println("name :", *name) fmt.Println("name2 :", name2) //打印相关信息 for index, arg := range os.Args { fmt.Printf("%d -> %s\n", index, arg) } }
输入的内容:
OK,关于go语言main函数的分享就到这里~