golang命令行参数解析

时间:2022-08-12 14:29:24
package main

import (
	"fmt"
	"os"
)

func main(){
	s:= os.Args
	fmt.Println(s)
}

  直接执行

输出结果:[C:\Users\Administrator\AppData\Local\Temp\___go_build_2_go__1_.exe]

golang命令行参数解析

 

还可以使用flag模块

package main

import (
	"flag"
	"fmt"
)

func main(){
	var name string
	var age int
	var gender string
	var length int
	//参数一:变量的指针,只有这样才可以修改
	//参数二:传值所指定的名字,在终端中就可以使用--a 16或者-a 16这样的形式传值
	//参数三:默认值,不传值的话,使用默认值
	//参数四:注释
	flag.IntVar(&age,"a",0,"这是年龄")
	flag.IntVar(&length,"l",160, "这是身高")
	flag.StringVar(&name,"n","无名","这是名字")
	flag.StringVar(&gender,"g","秀吉","这是性别")

	//不要忘了这句,加上它才会解析命令行
	flag.Parse()

	fmt.Println(name, age, gender, length)
}

  golang命令行参数解析