通过os.Args切片接受参数。
入门实例
编写代码,获取命令行中的各个参数。
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println("命令行参数个数为", len(os.Args))
// 遍历Args切片
for i, v := range os.Args {
fmt.Printf("args[%v] = %v", i, v)
}
}
编译为exe文件
命令行运行和运行结果
指定参数形式的命令行
如-u root -pwd 8888888 命令行键值对是匹配的
使用flag包来解析命令行参数
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, "pwd", "", "密码,默认为空")
flag.StringVar(&host, "h", "localhost", "主机名,默认为localhost")
flag.IntVar(&port, "port", 3306, "端口号,默认为3306")
// 从命令行中获取
flag.Parse()
fmt.Printf("user = %v, password = %v, host = %v, port = %v\n",
user, pwd, host, port)
}
编译
运行以及结果