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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將特定變量添加到 api 請求的 switch 語句

將特定變量添加到 api 請求的 switch 語句

Go
富國滬深 2022-06-21 16:27:20
我正在嘗試使用 switch 語句,其中將要求用戶輸入,并且他們的選擇將被掃描到可以在 switch 語句中找到的特定變量中。一旦選擇保存到變量 (p, h, i) 中,該變量將作為參數添加,如 params.Add("filter", fmt.Sprintf("hostname:%s", h)) 中所示。一旦將其中一個變量添加到 Add 方法,它們將通過 api 請求傳遞。我的思維過程離我很遠嗎?func FindHost() (*HostSearch, error) {    fmt.Println("Select from the options below:")    var choice int    fmt.Println("1. Platform")    fmt.Println("2. Hostname")    fmt.Println("3. IP")    fmt.Scanln(&choice)    switch choice {    case 1:        var p string        fmt.Println("Enter Platform name: ex Windows")        fmt.Scanln(p)    case 2:        var h string        fmt.Println("Enter hostname: ")        fmt.Scanln(h)    case 3:        var i string        fmt.Println("Enter IP")        fmt.Scanln(i)    }        params := url.Values{}    params.Add("filter", fmt.Sprintf("hostname: '%s'", h))    params.Add("filter", fmt.Sprintf("platform_name: '%s'", p))    params.Add("filter", fmt.Sprintf("IP: %s", i))    req, err := http.NewRequest("GET", <URL>+<api endpoint>+params.Encode(), nil)    req.Header.Set("Accept", "application/json")}
查看完整描述

1 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

如果這只是命令行程序,您應該使用命令行參數,并且傳遞的任何值(一個/一對主機/IP/平臺)在函數中使用它。你可以使用 golang flag。


如果你想堅持原來的程序,這就是你需要做的。


func FindHost() {

    fmt.Println("Select from the options below:")

    var choice int

    var param string

    params := url.Values{}

    fmt.Println("1. Platform")

    fmt.Println("2. Hostname")

    fmt.Println("3. IP")

    fmt.Scanf("%d", &choice)

    switch choice {

    case 1:

        fmt.Println("Enter Platform name: ex Windows")

        fmt.Scanf("%s", &param)

        params.Add("filter", fmt.Sprintf("hostname: '%s'", param))


    case 2:

        fmt.Println("Enter hostname: ")

        fmt.Scanf("%s", &param)

        params.Add("filter", fmt.Sprintf("platform_name: '%s'", param))


    case 3:

        fmt.Println("Enter IP")

        fmt.Scanf("%s", &param)

        params.Add("filter", fmt.Sprintf("IP: %s", param))


    }

    fmt.Println(fmt.Sprintf("%+v", params))

}

更新


根據最近的評論更新程序。


查看完整回答
反對 回復 2022-06-21
  • 1 回答
  • 0 關注
  • 100 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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