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

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

7
Отрывается ли оператор break от переключателя / выбора?
Я знаю, что операторы switch/ selectавтоматически прерываются после каждого случая. Мне интересно, в следующем коде: for { switch sometest() { case 0: dosomething() case 1: break default: dosomethingelse() } } Имеет ли breakвыход заявление в forпетлю или только switchблок?


4
Функции Call Go от C
Я пытаюсь создать статический объект, написанный на Go, для взаимодействия с программой на C (скажем, модулем ядра или чем-то еще). Я нашел документацию по вызову функций C из Go, но я не нашел много о том, как пойти другим путем. Я обнаружил, что это возможно, но сложно. Вот что я …

7
Есть ли способ делать повторяющиеся задачи через определенные промежутки времени?
Есть ли способ делать повторяющиеся фоновые задачи в Go? Я думаю о чем-то похожем Timer.schedule(task, delay, period)на Java. Я знаю, что могу сделать это с помощью рутины и Time.sleep(), но я хотел бы что-то, что легко остановилось. Вот что я получил, но выглядит мне некрасиво. Есть ли чище / лучше? …
149 go 

6
Макетные функции в Go
Я учусь на Go, кодируя небольшой личный проект. Несмотря на то, что он небольшой, я решил провести тщательное юнит-тестирование, чтобы с самого начала выучить хорошие привычки на Го. Тривиальные юнит-тесты были хороши и хороши, но теперь я озадачен зависимостями; Я хочу иметь возможность заменить некоторые вызовы функций на ложные. Вот …
147 unit-testing  mocking  go 

7
Как узнать количество символов в строке?
Как я могу получить количество символов строки в Go? Например, если у меня есть строка, "hello"метод должен вернуться 5. Я видел, что len(str)возвращает количество байтов, а не количество символов, поэтому len("£")возвращает 2 вместо 1, потому что в кодировке UTF-8 кодируется двумя байтами.


6
Кросс-компиляция Go на OSX?
Я пытаюсь перекрестно скомпилировать приложение go на OSX для создания двоичных файлов для Windows и Linux. Я прочитал все, что смог найти в сети. Ближайший пример, который я нашел, был опубликован (не считая многих незаконченных обсуждений в списке рассылки глупых людей): http://solovyov.net/en/2012/03/09/cross-compiling-go/ пока что это не работает на моей установке. …

6
Как установить значения по умолчанию в структурах Go
Есть несколько ответов / методов на следующий вопрос: Как установить значения по умолчанию для структур Голанга? Как инициализировать структуры в Голанге У меня есть пара ответов, но требуется дальнейшее обсуждение.

4
Почему я не могу назначить * Struct * интерфейсу?
Я просто прорабатываю тур по Go и не понимаю, как насчет указателей и интерфейсов. Почему этот код Go не компилируется? package main type Interface interface {} type Struct struct {} func main() { var ps *Struct var pi *Interface pi = ps _, _ = pi, ps } т.е. если …
142 go 

6
Удалить элемент в срезе
func main() { a := []string{"Hello1", "Hello2", "Hello3"} fmt.Println(a) // [Hello1 Hello2 Hello3] a = append(a[:0], a[1:]...) fmt.Println(a) // [Hello2 Hello3] } Как работает этот трюк с удалением с функцией добавления? Казалось бы, он захватывает все до первого элемента (пустой массив) Затем добавляем все после первого элемента (нулевая позиция) Что …
140 go 

5
Go build: «Не удается найти пакет» (даже если GOPATH установлен)
Несмотря на то, что я GOPATHправильно настроил, я все еще не могу получить команду «go build» или «go run», чтобы найти свои собственные пакеты. Что я делаю не так? $ echo $GOROOT /usr/local/go $ echo $GOPATH /home/mitchell/go $ cat ~/main.go package main import "foobar" func main() { } $ cat …
139 build  go  package 

7
Разбор строки даты в Go
Я попытался разобрать строку даты "2014-09-12T11:45:26.371Z"в Go. Код layout := "2014-09-12T11:45:26.371Z" str := "2014-11-12T11:45:26.371Z" t, err := time.Parse(layout , str) Я получил эту ошибку: время разбора "2014-11-12T11: 47: 39.489Z": месяц вне диапазона Как я могу разобрать эту строку даты?
138 date  go 

4
Цикл импорта не разрешен
У меня проблема с цикл импорта не разрешен Похоже, когда я пытаюсь протестировать свой контроллер. На выходе у меня есть can't load package: import cycle not allowed package project/controllers/account imports project/controllers/base imports project/components/mux imports project/controllers/account import cycle not allowed package project/controllers/account imports project/controllers/base imports project/components/mux imports project/controllers/account import cycle not …
138 go 

2
Как определить несколько тегов имен в структуре
Мне нужно получить элемент из базы данных Монго, поэтому я определил структуру, как это type Page struct { PageId string `bson:"pageId"` Meta map[string]interface{} `bson:"meta"` } Теперь мне также нужно кодировать его в JSON, но он кодирует поля в верхнем регистре (я получаю PageId вместо pageId), поэтому мне также нужно определить …
137 json  struct  go 

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