hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 文章 - 后端开发 - 正文 看Cosplay古风插画小姐姐,合集图集打包下载:炫龙网 · 炫龙图库

golang flag是什么_后端开发

2019-12-04后端开发ki4网18°c
A+ A-

在 Golang 顺序中有很多种要领来处置惩罚命令行参数。简朴的状况下能够不运用任何库,直接处置惩罚 os.Args;实在 Golang 的规范库供应了 flag 包来处置惩罚命令行参数;另有第三方供应的处置惩罚命令行参数的库,比方 Pflag 等。

flag包供应了一系列剖析命令行参数的功用接口 (引荐进修:go)

命令行语法

命令行语法重要有以下几种情势

-flag //只支撑bool范例
-flag=x
-flag x //只支撑非bool范例

以上语法关于一个或两个‘-’号,结果是一样的,然则要注意关于第三种状况,只支撑非bool范例,原因是遇到以下状况时

cmd -x *

*为0,false有大概示意一个文件名或文件,也有大概示意x标签的值为0或false,会发生二义性,因而划定第三种只支撑非bool范例。关于整形flag,正当的值能够为1234, 0664,0x1234或负数等。关于布尔型flag,能够为1, 0, t, f, T, F,true, false, TRUE, FALSE, True, False等

命令行参数剖析要领

运用flag重要包含以下几步

定义flag参数,有三种体式格局

经由过程flag.String(), Bool(), Int() 等flag.Xxx()要领,该种体式格局返回一个响应的指针

import "flag"
var ip = flag.Int("flagname", 1234, "help message for flagname")

经由过程flag.XxxVar()要领将flag绑定到一个变量,该种体式格局返回值范例,如

var flagvar int
func init() {
    flag.IntVar(&flagvar, "flagname", 1234, "help message for flagname")
}

经由过程flag.Var()绑定自定义范例,自定义范例须要完成Value接口(Receives必需为指针),如

flag.Var(&flagVal, "name", "help message for flagname")

关于这类范例的flag,默认值为该变量范例的初始值

挪用flag.Parse()剖析命令行参数到定义的flag

flag.Parse()

剖析函数将会在遇到第一个非flag命令行参数时住手,非flag命令行参数是指不满足命令行语法的参数,如命令行参数为cmd --flag=true abc则第一个非flag命令行参数为“abc”

挪用Parse剖析后,就能够直接运用flag自身(指针范例)或许绑定的变量了(值范例)

fmt.Println("ip has value ", *ip)
fmt.Println("flagvar has value ", flagvar)

还可经由过程flag.Args(), flag.Arg(i)来猎取非flag命令行参数

以上就是golang flag是什么的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
golang flag是什么_后端开发

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>