os包的Args包括了命令名本身,作为读取参数的第一个值。
flag.Args读取命令后的入参(要配合flag.Parse()使用)。
也就是,os的比flag多一个命令名的读取。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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]) // 第一个参数开始
}
}
|
以上所述就是本文的全部内容了,希望大家能够喜欢。