Описание тега composite-literals
Составные литералы - это способ объявления и распределения ресурсов в языке программирования Go.
1
ответ
Составной литерал и поля встроенного типа
Я работал над примером программы, чтобы ответить на другой вопрос здесь, на SO, и был несколько озадачен тем фактом, что следующий код не будет компилироваться; https://play.golang.org/p/wxBGcgfs1o package main import "fmt" type A struct { FName str…
30 апр '15 в 22:45
3
ответа
Расширение карты из других пакетов во время компиляции
Я пытаюсь расширить карту по пакетам во время компиляции. Это возможно? У меня есть посылка A с предопределенной картой: package A var MyMap = map[string]string{"key1": "value", "key2": "value"} И я хотел бы расширить карту во время "компиляции". Эт…
04 фев '19 в 21:53
2
ответа
Как буквально инициализировать многоуровневые вложенные структуры в GO?
Я пытаюсь буквально инициализировать следующую структуру в GO: Это структура: type tokenRequest struct { auth struct { identity struct { methods []string password struct { user struct { name string domain struct { id string } password string } } } }…
10 янв '19 в 09:51
3
ответа
Могу ли я связать один элемент класса с другим при инициализации в одной строке?
У меня есть класс (структура), как это: type Question struct{ Question string answerOne string answerTwo string answerCorrect string } И я инициализирую это так: q1:=Question{ Question:"What?", answerOne:"A", answerTwo:"B", answerCorrect: ? //I want…
08 дек '17 в 09:13
7
ответов
Предотвратить пропущенные поля в инициализации структуры
Рассмотрим этот пример. Допустим, у меня есть этот объект, который вездесущ в моей кодовой базе: type Person struct { Name string Age int [some other fields] } Где-то глубоко в базе кода, у меня также есть некоторый код, который создает новый Person…
05 фев '19 в 18:15
1
ответ
Анонимная структура, разница между структурой {}{} и {}
Я имею string в struct Карта в Голанге определяется следующим образом: var Foo = map[string]struct{}{ "foo": struct{}{}, } Gogland по умолчанию помечает это объявление как предупреждение, говоря "Избыточное объявление типа". var Foo = map[string]str…
12 окт '17 в 10:21
1
ответ
Что делает инициализация структуры Go в скобках?
Обычно я инициализирую такую структуру: item1 := Item{1, "Foo"} Однако недавно я видел код, инициализирующийся паренами: item2 := (Item{2, "Bar"}) reflect возвращает то же самое Item название. Что делает инициализация в скобках и когда это предпоч…
13 июн '18 в 06:23
1
ответ
Вставьте в мой тип другой pkg и инициализируйте его буквально
Я прочитал, как инициализировать тип встраивания и связанные с ним вопросы и ответы. В чем проблема при компиляции этого кода, я получил: [Ошибка] неизвестное поле 'feature.DefaultSshHelper' в структурном литерале типа dala02 type FDH feature.Defaul…
13 дек '17 в 07:18
1
ответ
Структурировать для инициализатора цикла
Любая идея, почему это выражение структуры в для инициализатора цикла делает синтаксическую ошибку во время компиляции? Указатель на структуру отлично работает в этом случае, но, конечно, мне нужна локальная переменная, как показано ниже. Спасибо за…
31 янв '16 в 23:16
2
ответа
Golang struct литерал синтаксиса с неэкспортированными полями
У меня есть длинная структура, которую я до сих пор создавал с синтаксисом struct literal, например: Thing{ "the name", ... } Я только что добавил неэкспортированное поле Thing структура и теперь Go жалуется: implicit assignment of unexported field …
20 июл '17 в 11:26
2
ответа
Golang встроенный тип структуры
У меня есть эти типы: type Value interface{} type NamedValue struct { Name string Value Value } type ErrorValue struct { NamedValue Error error } Я могу использовать использование v := NamedValue{Name: "fine", Value: 33}, но я не умею пользоваться e…
19 июл '17 в 11:46
3
ответа
Идите структурировать литералы, почему этот адрес адресуемый?
Я читаю книгу "Язык программирования Go". Это очень хорошо для нас (скорее) опытных программистов и объясняет различия между пересечениями других языков - но я нашел случай, который я не до конца понимаю. Я знаю C++ достаточно хорошо, и я понимаю, ч…
24 ноя '16 в 19:17
2
ответа
Перейти к сборке с ошибкой буфера протокола: слишком мало значений в struct initializer
У меня есть файл прото: syntax = "proto3"; package main; message Client { int32 Id = 1; string Name = 2; string Email = 3; } Скомпилированный Client структура, как показано ниже: type Client struct { Id int32 `protobuf:"varint,1,opt,name=Id,proto3" …
08 авг '18 в 08:41
1
ответ
Как исправить "отсутствующий тип в составном литерале" в тестовых примерах
Я пытаюсь написать тестовый код для функции ReadField(), но у меня возникают трудности при определении тестовых случаев. Выдает ошибку "отсутствует тип в составном литерале". Я считаю, что это просто какая-то синтаксическая ошибка. Я попытался опред…
05 апр '19 в 05:15
1
ответ
Могу ли я добавить элементы в срез в операторе создания в зависимости от условия?
У меня есть функция, которая создает срез, как это: func buildOptions(cfg *ServerConfig) []SomeType { return []SomeType{ Option1, Option2, Option3, } } Мне нужно, чтобы Option3 был добавлен в срез, только если соблюдено определенное условие. Может л…
20 июн '19 в 12:16
2
ответа
Как объявить поля json, допускающие значение NULL, в структурах golang?
Обычно мне нравится использовать указатели для примитивных типов данных в своих структурах, чтобы при их json.Marshal nil поля всегда переводятся на "field": nullв строке json. Но это затруднит создание нового экземпляра структуры, поскольку я не мо…
05 фев '20 в 15:23
3
ответа
Голанг, что делает следующее []
Я новичок в golang, и у меня есть основной вопрос. У меня есть следующий код, взятый из примера из Интернета func (d Direction) String() string { return [...]string{"North", "East", "South", "West"}[d] } Я не понимаю, что значит [d] делать в теле ме…
20 мар '20 в 00:07
3
ответа
Срез поведения структур
Когда мы объявляем срез структур, но устанавливаем тип данных как указатель на структуру, происходит ли автоматическое преобразование литералов в указатели? type book struct { id int name string } var books = []*book { {1, "Yellow moon"}, // --->…
28 дек '19 в 10:30
2
ответа
Понимание составного литерала go
Почему присвоение значения функции f не является составным литералом? Спецификация Go lang Составные литералы говорят ниже, следовательно, значение функции не может быть построено с помощью составного литерала. Составные литералы создают значения дл…
26 апр '20 в 14:34
1
ответ
Выделяет ли golang новую память при переназначении новой структуры переменной?
Когда я переназначаю новый объект структуры существующей переменной, адрес не меняется. Код показан ниже: type Request struct { Field string } func main(){ r := Request{Field: "a"} fmt.Printf("%p\n", &r) r = Request{Field: "b"} fmt.Printf("%p\n"…
27 май '20 в 12:16