golang获取命令行参数方法总结

参数 命令 编程技术
发布日期 2023-08-29 更新日期 2023-08-29 阅读次数 89 文章字数 750

代码:

package main

import (
    "fmt"
    "os"
)

func main()  {
	
    fmt.Println("命令行参数数量:",len(os.Args))
    
    fmt.Println("第二个参数:",os.Args[1])
    
    for k,v:= range os.Args{
        fmt.Printf("args[%v]=[%v]\n",k,v)
    }
}

生成并运行:

go build -o main.exe main.go
./main.exe 小李 18岁 程序员

结果:

命令行参数数量:4
第二个参数:小李
args[0]=[./main.exe]
args[1]=[小李]
args[2]=[18岁]
args[3]=[程序员]

flag包可以方便的解析命令行参数,而且参数顺序可以随意;
代码:

package main

import (
	"flag"
	"fmt"
)

func main() {

	
	var user string
	var pwd string
	var host string
	var port int

	
	
	
	
	flag.StringVar(&user, "u", "", "用户名,默认为空")
	flag.StringVar(&pwd, "p", "", "密码,默认为空")
	flag.StringVar(&host, "h", "localhost", "主机名,默认为localhost")
	flag.IntVar(&port, "port", 3300, "端口号,默认为3300")
	
	flag.Parse()

	
	fmt.Printf("user=%v pwd=%v host=%v port=%v",
		user, pwd, host, port)

}

生成并运行:

go build -o main.exe main.go

./main.exe -u root -p pwd -h 192.168.2.23 -port 5566
user=root pwd=pwd host=192.168.2.23 port=5566

./main.exe -u root -p pwd -h 192.168.2.23
user=root pwd=pwd host=192.168.2.23 port=3300

从上面的示例中可以看到,如果没有指定-port参数的值,会输出默认值3300;

参数 命令

发表评论

相关推荐
朱丰华   |   7个月前   |   git

git从缓存中移除数据git rm --cached

408    评论    点赞
朱丰华   |   1年前   |   linux

linux保持后台进程不被关闭nohup &

254    评论    点赞
朱丰华   |   1年前   |   git

git push -u参数是什么意思?--set-upstream

244    评论    点赞
朱丰华   |   1年前   |   请求 · 一个

ab测压命令,apache测压工具

172    评论    点赞
朱丰华   |   1年前   |   go · gopath

Go自定义包并安装(GOPATH)

117    评论    点赞
朱丰华   |   1年前   |   变量 · mysql · sql · 用户

MySQL用户自定义变量

95    评论    点赞
朱丰华   |   1年前   |   sed · 文件

Shell 指定行处理head、tail、sed

155    评论    点赞
朱丰华   |   1年前   |   linux · 内容

linux环境下,对于一个大文件,如何查看其中某行的内容

68    评论    点赞
朱丰华   |   1年前   |   linux · 文件 · 行数

linux 取得文件行数

50    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 正则

php正则表达式原生字符

85    评论    点赞
朱丰华   |   1年前   |   文件 · linux · 修改

linux文件的三个时间atime,mtime,ctime分别表示什么?

275    评论    点赞
朱丰华   |   1年前   |   linux · 文件 · 统计

linux递归统计文件夹下的文件数量

165    评论    点赞
朱丰华   |   1年前   |   linux · 文件

linux递归统计文件夹大小、du命令_Linux du命令:查看文件夹和文件的磁盘占用情况

193    评论    点赞
朱丰华   |   1年前   |   curl

curl命令忽略ssl证书进行https请求

226    评论    点赞
朱丰华   |   1年前   |   html

npm clean-mark,抓取网页文章内容,转换成markdown、html、txt

192    评论    点赞
朱丰华   |   1年前   |   js · vue · 监听

js vue监听,深度监听

114    评论    点赞
朱丰华   |   1年前   |   php · 混淆 · obfuscate · git

yakpro-po混淆php代码

105    评论    点赞
朱丰华   |   1年前   |   html · npm · audit

npm报错、原因:run `npm audit fix` to fix them, or `npm audit` for details html

67    评论    点赞
朱丰华   |   1年前   |   javascript · js · obfuscator · 混淆

javascript-obfuscator混淆js文件

52    评论    点赞
朱丰华   |   1年前   |   js · vue · npm · 安装

npm快速上手

99    评论    点赞
{{item.author_name}}   |   {{new Date(item.date*1000).log()}}   |   {{it}} ·

{{item.title}}

{{item.uv}}    评论    点赞