1. 程式人生 > >golang中的flag包的使用

golang中的flag包的使用

package flag

import "flag"

flag包實現了命令列引數的解析。

要求:

使用flag.String(), Bool(), Int()等函式註冊flag

本次使用flag.Stirng()來講解一些如何使用

1.首先根據程式碼來分析

package main

import (
	"flag"
	"fmt"
)

//flag的作用是用來解析命令列的引數
// go run main.go -ip
func main(){
	//返回的是一個ip的指標
	ip := flag.String("ip","127.0.0.0","help message for flagname")
	flag.Parse()
	fmt.Printf("%v\n",*ip)
}

flag.String(arg1,arg2,arg3)*String

agr1:就是key了

agr2:就是key的預設值了

arg3:就是key的提示幫助資訊了

2、通過命令列的方式來執行

 go run main.go 方式直接執行不加引數,則列印預設值

go run main.go -ip 則提示您相關的幫助資訊,可以看到 args3的資訊輸出到下面了

go run main.go -ip=192.168.1.128 則替換你之前為ip設定的127.0.0.1的預設值

也可這樣 go run main.go -ip 192.168.1.128 (前提是隻有非bool型別的才可以)

3、通過在golang編輯器中設定來替換預設的引數值

步驟(1)

步驟(2)

在Progrom arguments:中配置的資訊,將會在程式的執行時被獲取到並替換對應flag.String(arg1,arg2,arg3),arg1的預設值

注意這個時候你就不要使用【命令列】來運行了,因為你配置的引數資訊在gland中,所以你直接點選goland的編輯器【執行】按鈕就可以了,

你會發現,ip的預設值已經被替換了。

其他的相關的操作資訊可以看Go語言的標準庫