【go笔记】使用标准库flag解析命令行参数

前言

Go语言标准库中提供了一个包flag可以解析命令行参数。

示例代码:文件读取

package main

import (
	"fmt"
	"flag"
	"io/ioutil"
)

func main() {
    // 文件路径由字符串指定,因此调用了
	ptrFlagFpath := flag.String("fpath","hello.txt","-fpath 指定待读取文件的路径")
	flag.Parse()

	content,err := ioutil.ReadFile(*ptrFlagFpath)
	if err != nil {
		fmt.Println("read file fail:",err)
		return
	}
	// 读取到的文件字节需要手动进行类型转换
	fmt.Println(string(content))
}
  • 文件路径由字符串指定,因此调用了flag.String(其它类型还有flag.Intflag.Bool
  • 可以使用--help-help查看帮助。如:go run main.go --help
  • 第一个参数:命令行标识符fpath,使用时用-fpath
  • 第二个参数:命令行参数fpath的默认值,此处为hello.txt
  • 第三个参数:命令行参数标识符fpath的提示信息
  • 定义好命令行参数后需要通过flag.Parse()来对命令行参数进行解析

参考文章

posted @ 2021-12-12 22:09  花酒锄作田  阅读(103)  评论(0编辑  收藏  举报