Вопросы с тегом 'go'

Go - это язык программирования с открытым исходным кодом. Он имеет статическую типизацию, с синтаксисом, свободно полученным из C, с добавлением автоматического управления памятью, безопасностью типов, некоторыми возможностями динамической типизации, дополнительными встроенными типами, такими как массивы переменной длины и карты значений ключей, а также большой стандартной библиотекой.
20

Как эффективно объединить строки

В Go string является примитивным типом, что означает, что она доступна только для чтения, и каждая манипуляция с ней создаст новую строку. Так что, если я хочу многократно объединять строки, не зная длины полученной строки, каков наилучший способ с...
19 нояб. '09 в 3:44
10

Как проверить, содержит ли карта ключ в Go?

Я знаю, что могу перебрать карту m, for k, v := range m { ... } и искать ключ, но есть ли более эффективный способ проверки существования ключа на карте? Я не мог найти ответ в спецификации языка.
12 янв. '10 в 16:18
10

Как вы пишете многострочные строки в Go?

Есть ли в Go что-нибудь похожее на многострочные строки Python: """line 1 line 2 line 3""" Если нет, то какой способ записи строк занимает несколько строк?
28 окт. '11 в 18:44
7

Есть ли петля foreach в Go?

Существует ли конструкция foreach на языке Go? Могу ли я перебирать фрагмент или массив с помощью for?
16 окт. '11 в 4:47
12

Как преобразовать нулевой байтовый массив в строку?

Мне нужно прочитать [100]byte чтобы передать кучу string данных. Поскольку не все string имеют длину точно 100 символов, оставшаяся часть byte array дополняется 0 с. Если я передам [100]byte в string помощью: string(byteArray[:]), хвостовой 0 буде...
09 янв. '13 в 7:19
7

Что такое идиоматический способ представления перечислений в Go?

Я пытаюсь представить упрощенную хромосому, состоящую из N баз, каждая из которых может быть только одной из {A, C, T, G}. Я хотел бы формализовать ограничения с перечислением, но мне интересно, какой самый идиоматический способ эмуляции перечислен...
20 янв. '13 в 16:07
9

Как проверить, существует ли файл в Go?

Стандартная библиотека Go не имеет функции, предназначенной только для проверки наличия файла или нет (например, Python os.path.exists). Что такое идиоматический способ сделать это?
20 сент. '12 в 18:42
7

Как преобразовать значение int в строку в Go?

i := 123 s := string(i) s - это "E", но я хочу "123" Скажите, пожалуйста, как я могу получить "123". И в Java я могу сделать так: String s = "ab" + "c" // s is "abc" как я могу concat две строки в Go?
11 апр. '12 в 12:30
12

Как найти тип объекта в Go?

Как найти тип объекта в Go? В Python я просто использую typeof для выбора типа объекта. Точно так же в Go, есть ли способ реализовать то же самое? Вот контейнер, из которого я повторяю: for e := dlist.Front(); e != nil; e = e.Next() { lines := ...
24 нояб. '13 в 2:08
4

Форматировать строку Go без печати?

Есть ли простой способ отформатировать строку в Go без печати строки? Я могу сделать: bar := "bar" fmt.Printf("foo: %s", bar) Но я хочу, чтобы отформатированная строка возвращалась, а не печаталась, чтобы я мог манипулировать ею дальше. Я также ...
20 июн. '12 в 16:21
9

Как назначить строку байтам массиву

Я хочу назначить строку массиву байтов: var arr [20]byte str := "abc" for k, v := range []byte(str) { arr[k] = byte(v) } Есть ли другой метод?
07 нояб. '11 в 2:29
9

Когда запускается функция init()?

Я попытался найти точное объяснение того, что функция init() делает в Go. Я прочитал, что говорит Effective Go, но я не был уверен, полностью ли я понял, что он сказал. Точное предложение, в котором я не уверен, следующее: И, наконец, означает, на...
16 июл. '14 в 20:34
3

Указатели против значений в параметрах и возвращаемых значениях

В Go есть различные способы вернуть значение struct или его фрагмент. Для отдельных я видел: type MyStruct struct { Val int } func myfunc() MyStruct { return MyStruct{Val: 1} } func myfunc() *MyStruct { return &MyStruct{} } func ...
08 мая '14 в 13:21
15

Как печатать структурные переменные в консоли?

Как я могу напечатать (в консоли) Id, Title, Name и т.д. этой структуры в Голанге? type Project struct { Id int64 `json:"project_id"` Title string `json:"title"` Name string `json:"name"` Data Data `json:"data"` Commits Commits ...
01 июл. '14 в 13:57
16

какими должны быть значения GOPATH и GOROOT?

Я пытаюсь установить doozer как это $ goinstall github.com/ha/doozer Я получаю эти ошибки. goinstall: os: go/build: package could not be found locally goinstall: fmt: go/build: package could not be found locally goinstall: io: go/build: package c...
01 нояб. '11 в 17:32