使用os包和flag包实现读取main命令入参

时间:2022-06-24 03:54:24

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]) // 第一个参数开始
  }
}

以上所述就是本文的全部内容了,希望大家能够喜欢。