Dynami c Переменные в цикле - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь выяснить, каков наилучший подход для обработки переменных при циклическом просмотре фрагмента.

У меня есть следующий бит кода:

type Server struct {
    Name string
    Features []string
}


func main() {


    var server1 Server

    server1.Name = "server-abc-1"
    server1.Features = append(server1.Features, "feature1", "feature2", "feature3" )

    subMenuServer1 := systray.AddMenuItem(server1.Name, "Server Menu")

    //Manually adding a menu item
    subMenuFeatureItem1 := subMenuServer1.AddSubMenuItem("feature1", "feature1 description")

    //Creating menu items from looping through slice - Not working
    for i, s := range server1.Features {
        dynamicVariable := subMenuServer1.AddSubMenuItem(s, "test")

    }
}

Как бы я провел oop через срез функций для динамического создания пунктов меню? Основная проблема в том, что мне нужно создать динамическую переменную c, которая не поддерживается в Go. Есть ли лучшее, почему нужно что-то делать?

Я нашел людей, которые упоминали использование таблицы ha sh вместо динамических c переменных. Если да, то какой тип таблицы ha sh мне понадобится, если значение будет "subMenuServer1.AddSubMenuItem (s," test ")"

1 Ответ

0 голосов
/ 28 апреля 2020

Динамическое создание новых переменных - почти всегда плохая идея, даже в тех языках, которые это поддерживают. Go не поддерживает его, так как это статически скомпилированный язык.

Вам гораздо лучше использовать карту типа map[string]T, T - тип, возвращаемый AddSubMenuItem.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...