一、命令行参数使用
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println("命令行参数:",len(os.Args))
for key, value := range os.Args {
fmt.Println(key,value)
}
}
package main
import (
"fmt"
"os"
"os/exec"
)
func main() {
//获取命令行的第一个参数
fmt.Println(os.Args[0])
output, err := exec.Command(os.Args[1], os.Args[2]).CombinedOutput()
if err != nil {
fmt.Println("output err:",err)
return
}
fmt.Println(string(output))
}
解决上面错误:
二、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.Println(user,pwd,host,port)
}