在golang中有很多方法来处理命令行参数,简单情况下可以不使用任何库,直接使用os.Args;但是golang标准库提供了flag
包来处理命令行参数;还有第三方提供的处理命令行参数的库cobra、cli
。
package main
import (
"flag"
"fmt"
)
func main() {
host := flag.String("host", "127.0.0.1", "请输入host地址")
port := flag.Int("port", 3306, "请输入端口号")
flag.Parse() // 解析参数
fmt.Printf("%s:%d\n", *host, *port)
}
执行: go run main.go -host=127.0.0.1 -port=3306
输出:127.0.0.1:3306
当然你也可以直接执行go run main.go,