os包的Args包括了命令名本身,作为读取参数的第一个值。
flag.Args读取命令后的入参(要配合flag.Parse()使用)。
也就是,os的比flag多一个命令名的读取。
package main import ( "flag" "fmt" "os" ) func main() { // os.Args方式 args := os.Args if args == nil || len(args) < 2 { fmt.Println("Hello 世界!") } else { fmt.Println("Hello ", args[1]) // 第二个参数,第一个参数为命令名 } // flag.Args方式 flag.Parse() var ch []string = flag.Args() if ch != nil && len(ch) > 0 { fmt.Println("Hello ", ch[0]) // 第一个参数开始 } }
以上所述就是本文的全部内容了,希望大家能够喜欢。