Создать структуру не заявленных свойств - PullRequest
0 голосов
/ 30 января 2020

Я из javascript и знаю об объектах:

{}

и знаю, что вы можете установить свойство, которое не было указано в объекте:

var myObj = {};
myObj.myProp = "TEST";

В go я знаю, что есть вещь, называемая struct

type MyStruct struct {}

. Есть ли способ установить MyStruct.MyProp, даже если он не находится внутри структуры?

1 Ответ

2 голосов
/ 30 января 2020

Go является языком статической типизации, поэтому вы не можете этого сделать.

Структура, которую вы можете искать, это Map.

Даже при использовании карт вы должны определить типы ключей и значений, и они не могут измениться. Пример:

Это определяет карту с целочисленными ключами и строковыми значениями

mymap := make(map[int]string)
mymap[2] = "This is a string"

Это определяет карту со строковыми ключами и значениями интерфейса {}

mymap := make(map[string]interface{})
mymap["somekey"] = struct{}{Name: "John", Age: 30}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...