フラグ
パッケージ。 #このパッケージの目的は、コマンド ライン パラメーターを受け取ることです。
#Mysql をプレイしたことがある場合は、このインターフェースに精通しているはずです
はい、コマンド ライン パラメーターを受け取るために使用されます。
この章で学習したコードはすべて、.exe
にコンパイルする必要があります。実行、禁止 #右クリック実行
#! !
-u root -p 3306 コード コマンドを渡します 実行結果 返された cmdArgs 行 2 コードを変更します。 执行结果 上述的可能也发现问题了,只能接收简单的值,不能接收 flag可以做到,flag有只能接收以下几种类型。 使用flag包,最后要使用 话不多说,直接代码 执行结果 .exe -h结果图 懂了叭,你今天,学废了吗! 上述你可能也发现了问题,需要用 执行结果 flag还有一些其他无关紧要的方法,了解就好。 执行结果 この章で学ぶ主な内容は、#フラグです これにより、mysql flag ##flag.TypeVar のような指定は受信できませんkey
、 の値は、root 3306
のような値のみを受け取ることができます。 簡単に見てみましょう。
func main() {
cmdArgs := os.Args
if len(cmdArgs) > 0 {
for index, value := range cmdArgs {
fmt.Printf("索引:%v,value值:%v\n", index, value)
}
}
}
go build -o mysql .exe main.go
は mysql.exe
にコンパイルされます。 はスライスであり、最初の値は独自の
ファイル名 です。最初の値は必要ないので、直接スライスしてください。 cmdArgs := os.Args[1:]
flag
key value
这种。bool
int
シリーズ(int
, int64
、uint
、uint64
)float
シリーズ(float
,float64
)string
期間
注意
flag.Parse()
转换一下才能获取命令行参数。flag.Type()
func main() {
// 第一个参数是命令行key,第二个参数是默认是,第三个参数是 .exe -h 提示
var user = flag.String("user", "root", "用户名")
var port = flag.Int("port", 3306, "端口")
var ip = flag.String("ip", "localhost", "mysql ip")
//必须使用flag.Parse()解析一下命令行参数
flag.Parse()
//flag.Type返回的是一个指针,必须通过 *变量取值
fmt.Println(*user,*port,*ip)
}
flag.TypeVar()
*变量
才能取到值,是不是感觉不太方便,那就来看看flag.TypeVar()
。func main() {
//声明变量用于接收命令行参数
var user string
var port int
var ip string
//从命令行扫描参数赋值到变量
flag.StringVar(&user, "user", "root", "用户名")
flag.IntVar(&port, "port", 3306, "端口")
flag.StringVar(&ip, "ip", "localhost", "mysql ip")
//必须使用flag.Parse()解析一下命令行参数
flag.Parse()
//flag.Type返回的是一个指针,必须通过 *变量取值
fmt.Println(user, port, ip)
}
flag其他方法
func main() {
//声明变量用于接收命令行参数
var user string
var port int
var ip string
//从命令行扫描参数赋值到变量
flag.StringVar(&user, "user", "root", "用户名")
flag.IntVar(&port, "port", 3306, "端口")
flag.StringVar(&ip, "ip", "localhost", "mysql ip")
//必须使用flag.Parse()解析一下命令行参数
flag.Parse()
//flag.Type返回的是一个指针,必须通过 *变量取值
fmt.Println(user, port, ip)
///////////////// 其他方法
//返回命令行参数后的其他参数
fmt.Println(flag.Args())
//返回命令行参数后的其他参数个数
fmt.Println(flag.NArg())
//返回使用的命令行参数个数
fmt.Println(flag.NFlag())
}
概要
パッケージ #flag
パッケージを使用すると、主にコマンド ライン パラメータの受け渡しの問題が処理されます。
のようなプログラムを開発できます。
主に flag.Type
と # が含まれます##flag.TypeVar
2 つの違い
flag.Type
出てくる変数はポインタ型です。* を使用する必要があります。変数名
は値を取得できます変数出てくるのは直接標準変数です (推奨)
以上がこの記事では、Go 言語でのフラグ パッケージの使用方法について説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。