Вопросы с тегом «go»

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

4
Объявить константный массив
Я пытался: const ascii = "abcdefghijklmnopqrstuvwxyz" const letter_goodness []float32 = { .0817,.0149,.0278,.0425,.1270,.0223,.0202, .0609,.0697,.0015,.0077,.0402,.0241,.0675, .0751,.0193,.0009,.0599,.0633,.0906,.0276, .0098,.0236,.0015,.0197,.0007 } const letter_goodness = { .0817,.0149,.0278,.0425,.1270,.0223,.0202, .0609,.0697,.0015,.0077,.0402,.0241,.0675, .0751,.0193,.0009,.0599,.0633,.0906,.0276, .0098,.0236,.0015,.0197,.0007 } const letter_goodness = []float32 { .0817,.0149,.0278,.0425,.1270,.0223,.0202, .0609,.0697,.0015,.0077,.0402,.0241,.0675, .0751,.0193,.0009,.0599,.0633,.0906,.0276, .0098,.0236,.0015,.0197,.0007 } Во-первых, объявление и инициализация работают нормально, но второй, третий и четвертый не работают. Как я …
164 arrays  go  const 

2
Какой рекомендуемый способ подключения к MySQL из Go?
Я ищу надежное решение для подключения к базе данных MySQL от Go. Я видел несколько библиотек вокруг, но трудно определить различные состояния полноты и текущего обслуживания. У меня нет сложных потребностей, но я хотел бы знать, на что люди полагаются или какое самое стандартное решение для подключения к MySQL.
163 mysql  database  go 


5
Можно ли оставить канал открытым?
Можно ли оставлять канал Go открытым всегда (никогда не закрывать канал), если я никогда не проверю его состояние? Приведет ли это к утечкам памяти? Следующий код в порядке? func (requestCh chan<- Request) GetResponse(data RequestData) Response { reply := make(chan Response) requestCh <- Request{data: data, replyCh: reply} return <-reply }
161 go  channel 


7
Как я могу «запустить» проект с несколькими файлами в основном пакете?
В настоящее время в моем основном пакете есть один файл с именем main.go. Как разделить содержимое main.goна несколько файлов, не создавая отдельный пакет, поскольку код нельзя использовать повторно. Мне нужна такая структура каталогов: $ ls foo main.go bar.go bar.go package main import "fmt" func Bar() { fmt.Println("Bar") } Затем в …
159 go 

6
Можно ли передавать функции в качестве параметров?
В Java я могу сделать что-то вроде derp(new Runnable { public void run () { /* run this sometime later */ } }) и «запустить» код в методе позже. Это трудная задача (анонимный внутренний класс), но это можно сделать. Есть ли в Go что-то, что может облегчить передачу функции / …
158 function  go 

3
Как пройти тестирование всех тестов в моем проекте?
Команда go testохватывает *_test.goфайлы только в одном каталоге. Мне нужен go testвесь проект, а это значит, что тест должен охватывать все *_test.goфайлы в каталоге ./и все дочерние деревья в каталоге ./. Какая команда для этого?
158 testing  go 


11
Как правильно «получить» частный репозиторий?
Я ищу способ получить $ go getработу с частным репозиторием после многих попыток Google. Первая попытка: $ go get -v gitlab.com/secmask/awserver-go Fetching https://gitlab.com/secmask/awserver-go?go-get=1 https fetch failed. Fetching http://gitlab.com/secmask/awserver-go?go-get=1 Parsing meta tags from http://gitlab.com/secmask/awserver-go?go-get=1 (status code 200) import "gitlab.com/secmask/awserver-go": parse http://gitlab.com/secmask/awserver-go?go-get=1: no go-import meta tags package gitlab.com/secmask/awserver-go: unrecognized import path "gitlab.com/secmask/awserver-go …
157 git  go 


4
Изменить значения во время итерации
Предположим, у меня есть эти типы: type Attribute struct { Key, Val string } type Node struct { Attr []Attribute } и что я хочу перебрать атрибуты моего узла, чтобы изменить их. Я хотел бы иметь возможность сделать: for _, attr := range n.Attr { if attr.Key == "href" { …
153 arrays  for-loop  go 

13
Go install завершается с ошибкой: нет места установки для каталога xxx за пределами GOPATH
~/src/go-statsd-client> echo $GOPATH /Users/me/gopath ~/src/go-statsd-client> echo $GOROOT /usr/local/Cellar/go/1.1.1\ ~/src/go-statsd-client> go install go install: no install location for directory /Users/me/src/go-statsd-client outside GOPATH Независимо от того, в какой структуре находится проект, всегда происходит одно и то же сообщение. Go build работает отлично. Вот мой go env GOARCH="amd64" GOBIN="" GOCHAR="6" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" …
152 macos  go 


9
Как разбить строку и присвоить ее переменным
В Python можно разбить строку и назначить ее переменным: ip, port = '127.0.0.1:5432'.split(':') но в Go это, похоже, не работает: ip, port := strings.Split("127.0.0.1:5432", ":") // assignment count mismatch: 2 = 1 Вопрос: Как разбить строку и присвоить значения за один шаг?
151 string  go  split 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.