命令行参数
使用命令go build -o test main.go
生成可执行文件
接收不指定的参数
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println(os.Args)
for i, arg := range os.Args {
fmt.Printf("第%d个参数为%s\n", i, arg)
}
}
输出结果
$ ./test a b c d e f g # 一下为输出
[./test a b c d e f g]
第0个参数为./test
第1个参数为a
第2个参数为b
第3个参数为c
第4个参数为d
第5个参数为e
第6个参数为f
第7个参数为g
接收指定参数
package main
import (
"flag"
"fmt"
)
func main() {
var user string
var pwd string
var host string
var port int
flag.StringVar(&user, "u", "", "用户名,默认为空")
flag.StringVar(&pwd, "p", "", "密码,默认为空")
flag.StringVar(&host, "h", "", "地址,默认为localhost")
flag.IntVar(&port, "port", 3306, "端口号,默认为3306")
flag.Parse()
fmt.Printf("用户名=%v, 密码=%v, 地址=%v, 端口号=%v\n", user, pwd, host, port)
}
输出结果
$ go build -o test main.go
$ ./test -u chuang -p 123456 -h localhost
用户名=chuang, 密码=123456, 地址=localhost, 端口号=3306