Я пытаюсь использовать оператор switch, в котором у пользователя будет запрашиваться ввод, и его выбор будет сканироваться в определенную переменную c, которую можно найти в операторе 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")
}