go 启动命令行传递参数

简介: Go语言内置的 flag 包实现了命令行参数的解析,flag 包使得开发命令行工具更为简单。

介绍

Go语言内置的 flag 包实现了命令行参数的解析,flag 包使得开发命令行工具更为简单。

go run main.go -name="lys" -age 21

os.Args获取

for idx, args := range os.Args {
        fmt.Println("参数"+strconv.Itoa(idx)+":", args)
}

输出

参数0: C:\Users\ADMINI~1\AppData\Local\Temp\go-build1884770015\b001\exe\main.exe
参数1: -name=lys
参数2: -age
参数3: 21

flag包获取

var name string
var age int
flag.StringVar(&name, "name", "liuyunshengsir", "姓名")
flag.IntVar(&age, "age", 0, "年龄")
//解析命令行参数
flag.Parse()
fmt.Println("姓名:" + name)
fmt.Println("年龄:", age)

输出

姓名:lys
年龄: 21

debug配置launch.json设置参数

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "mode": "debug",
            "program": "${workspaceFolder}/main.go",
            "env": {
                "CONFIG_FILE":"AAAAA.YAML"
            },
            "args": ["-name=刘云生 ","-age=21"]
        }
    ]
}
相关文章
|
1月前
|
Go
Go语言中的默认参数和可选参数详解
【2月更文挑战第22天】
76 2
|
4月前
|
存储 Go
Go 语言函数、参数和返回值详解
函数是一组语句,可以在程序中重复使用。函数不会在页面加载时自动执行。函数将通过调用函数来执行。
75 0
|
24天前
|
存储 测试技术 Go
掌握Go语言:深入探究Go语言中的命令源码文件与参数处理技巧(3)
掌握Go语言:深入探究Go语言中的命令源码文件与参数处理技巧(3)
|
5月前
|
存储 Go
Go使用命令行输出二维码
Go使用命令行输出二维码
|
6月前
|
Go
Go 语言怎么使用变长参数函数?
Go 语言怎么使用变长参数函数?
27 0
|
3月前
|
Go
Go命令行解析神器入门 - 10分钟上手flag包
Go命令行解析神器入门 - 10分钟上手flag包
41 0
|
3月前
|
中间件 Go
go 打印gin 中的c.Request的参数
在 Gin 框架中,可以通过 `c.Request` 获取请求对象,从而访问请求的参数。以下是一个示例,展示如何打印出 `c.Request` 中的参数: ```go package main import ( "fmt" "github.com/gin-gonic/gin" ) func LoggerMiddleware() gin.HandlerFunc { return func(c *gin.Context) { // 打印请求方法和路径 fmt.Printf("开始处理请求: %s %s\n", c.Request.Method, c.Request.URL.Pa
|
4月前
|
Cloud Native Go C语言
GO 语言如何用好变长参数?
GO 语言如何用好变长参数?
GO 语言如何用好变长参数?
|
5月前
|
存储 JSON Go
Go 命令行框架: 构建强大的命令行工具
Go 命令行框架: 构建强大的命令行工具
|
6月前
|
搜索推荐 中间件 Go
Go语言微服务框架 - 11.接口的参数校验功能-buf中引入PGV
大量开发接口的朋友会经常遇到**接口参数校验**的问题。举个例子,我们希望将某个字段是必填的,如`name`,我们经常会需要做两步: 1. 在程序中加一个**判断逻辑**,当这个字段为空时返回错误给调用方 2. 在接口文档中加上**注释**,告诉调用方这个参数必填 一旦某项工作被拆分为两步,就很容易出现**不一致性**:对应到参数检查,我们会经常遇到文档和具体实现不一致,从而导致双方研发的沟通成本增加。那么,今天我将引入一个方案,实现两者的一致性。
43 0