两部分内容
go run test1.go aa -name 123
1. 解析:aa -name 123
2. 解析:name =123
代码
package mainimport ("log""os"
)func main() {log.Println("main ...")if len(os.Args) > 0 {for index, arg := range os.Args {log.Println(index, arg)}}log.Println("success ..")
}
输出:
****\src> go run .\test1.go aa bb cc
2025/02/17 11:36:26 main ...
2025/02/17 11:36:26 0 C:\Users\****emp\go-build445\b001\exe\test1.exe
2025/02/17 11:36:26 1 aa
2025/02/17 11:36:26 2 bb
2025/02/17 11:36:26 3 cc
2025/02/17 11:36:26 success ..package mainimport ("flag""log""os"
)func main() {log.Println("main ...")// 打印的是test1.go -name 1223 两个参数-name,1223if len(os.Args) > 0 {for index, arg := range os.Args {log.Println(index, arg)}}// 1. help信息//go run .\test1.go -help// -name string// help info (default "defaultValue")// 2. name命令 go run .\test1.go -name 1223// name为1223 是解析后的数据name := flag.String("name", "defaultValue", "help info")flag.Parse()log.Println("name:", *name)log.Println("success ..")
}
参考
https://www.topgoer.com/%E5%B8%B8%E7%94%A8%E6%A0%87%E5%87%86%E5%BA%93/flag.html
https://studygolang.com/pkgdoc