亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Golang 用 flag 來操作控制臺參數

標簽:
Go 區塊鏈
楔子

文/谦益

go开发的程序可以直接在控制器或者终端运行,但是问题来了,如果我们的程序有些变量需要用户启动程序是自定义,比如服务器的监听端口。当然我们可以把他写到配置文件里面,但是在特定环境下,还是通过启动时参数来得方便。
那怎么在程序里面获取启动时传过来的参数呢?就是这篇文章要介绍的 flag 包。

安装

flag 包是go语言自带的包,不需要安装,所以这一步可以省略。

导入

和其他 OS 包一样,直接

import "flag"

就可以了

编写代码
  • 定义的格式
flag.TypeVar(&flagvar, name, defValue, usage)

其中Type为String, Int, Bool等;并返回一个相应类型的指针。

  • 来一段示例吧:
package main

import (
    "flag"
    "fmt"
)

func main() {
    ok := flag.Bool("ok", false, "is ok")
    id := flag.Int("id", 0, "id")

        //这个方法很重要,
    flag.Parse()

    fmt.Println("ok:", *ok)
    fmt.Println("id:", *id)
}

这里我们定义了两个变量,分别是ok和id,通过flag.Boolflag.Int来接收启动时传入的参数。

使用

使用就很简单了,我们可以用

go build

把我们的程序编译成可执行文件,再调起这个可执行文件就行,像下面的这样。

./main --id=12 --ok=true

也可以直接

go run main.go --id=12 --ok=true

这样测试。

输出的结果就是这样咯。

ok: true
id: 12
补充

使用flag来操作命令行参数,支持的格式有下面四种:

-id=1
--id=1
-id 1
--id 1

是不是挺简单的。

[获取授权]

點擊查看更多內容
3人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
全棧工程師
手記
粉絲
1.6萬
獲贊與收藏
399

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消