1. 程式人生 > >GO語言標準庫—命令行參數解析FLAG

GO語言標準庫—命令行參數解析FLAG

nbsp ack 圖片 mep linux func 常用 命令行 mage

flag包是Go語言標準庫提供用來解析命令行參數的包,使得開發命令行工具更為簡單

常用方法

1.flag.Usage

輸出使用方法,如linux下ls -h的幫助輸出

2.flag.Type(參數名, 默認值, 使用提示)

Type為類型 如String, Int, Uint 調用相應的flag.Sring flag.Int flag.Uint方法

方法返回相應類型的指針

3.flag.TypeVar(指針, 參數名, 默認值, 使用提示)

與flag.Type方法基本相同,不同的是多一個指針參數,將使用傳入的指針,不會再創建指針返回

4.flag.Args

返回解析完命令行參數後的其他參數,如./sh -name cqh a1 a2,將返回a1 a2

5.flag.Parse

執行解析

package main

import (
	"flag"
	"fmt"
)

func main() {
	namePtr := flag.String("name", "username", "姓名")
	agePtr := flag.Int("age", 18, "年齡")
	musclePtr := flag.Bool("muscle", true, "是否有肌肉")

	var email string
	flag.StringVar(&email, "email", "[email protected]", "郵箱")

	flag.Parse()

	args := flag.Args()

	fmt.Println("name", *namePtr)
	fmt.Println("age", *agePtr)
	fmt.Println("muscle", *musclePtr)
	fmt.Println("email", email)
	fmt.Println("args", args)
}

  技術分享圖片

GO語言標準庫—命令行參數解析FLAG