Golang---命令行参数处理
1. os.Args
os.Args 是一个string切片,用来存储所有的命令行参数
package main
import (
"fmt"
"os"
)
func main() {
// 空格分割
fmt.Printf("命令行参数有%v个",len(os.Args))
for i,v := range os.Args{
fmt.Println(i)
fmt.Println(v)
}
}

2. flag包解析命令行参数
可以指定参数
C:\Users\Administrator\AppData\Local\Temp\GoLand\___1go_build_test_go.exe -u root -pwd 123 -h 27.45.121.2 -p 3306
package main
import (
"flag"
"fmt"
)
func main() {
// 定义几个变量,用于接受命令行的参数值
var user string
var pwd string
var host string
var port int
// &user 就是接受用户命令行中输入的-u 后面的参数,默认值是""
flag.StringVar(&user,"u","","用户名,默认为空")
flag.StringVar(&pwd,"pwd","","密码,默认为空")
flag.StringVar(&host,"h","","主机地址,默认为空")
flag.IntVar(&port,"p",3306,"端口,默认为3306")
// 必须转换才能拿到对应的结果
flag.Parse()
// 输出结果
fmt.Printf("user=%v pwd=%v host=%v port=%v",user,pwd,host,port)
}
python防脱发技巧

浙公网安备 33010602011771号