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

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

5
как слушать N каналов? (динамический оператор выбора)
чтобы запустить бесконечный цикл выполнения двух горутин, я могу использовать приведенный ниже код: после получения сообщения он запустит новую горутину и будет работать вечно. c1 := make(chan string) c2 := make(chan string) go DoStuff(c1, 5) go DoStuff(c2, 2) for ; true; { select { case msg1 := <-c1: fmt.Println("received ", …
116 go 

3
Разделить строку на пробелы в Go?
Учитывая входную строку, например " word1 word2 word3 word4 ", как лучше всего разделить ее как массив строк в Go? Обратите внимание, что между каждым словом может быть любое количество пробелов или символов Unicode. В Java я бы просто использовал someString.trim().split("\\s+"). (Примечание: возможное дублирование разделенной строки с использованием регулярного выражения …
116 regex  go 

4
Каковы соглашения для имен файлов в Go?
Я смог найти соглашения для именования пакетов в Go: без подчеркивания между словами, все в нижнем регистре. Применяется ли это соглашение и к именам файлов? Вы также помещаете одну структуру в один файл, как если бы вы это делали для класса java, а затем называете файл после структуры? В настоящее …



7
Извлечение подстрок в Go
Я пытаюсь прочитать с консоли всю строку (включая пробелы), а затем обработать ее. Используя bufio.ReadString, символ новой строки читается вместе с вводом, поэтому я придумал следующий код для обрезки символа новой строки: input,_:=src.ReadString('\n') inputFmt:=input[0:len(input)-2]+"" //Need to manually add end of string Есть ли более идиоматический способ сделать это? То есть …
114 go  substring 

3
Как преобразовать интерфейс {} в строку?
Я использую docopt для анализа аргументов командной строки. Это работает, и в результате получается карта, например map[<host>:www.google.de <port>:80 --help:false --version:false] Теперь я хотел бы объединить hostи portзначение в строку с двоеточием между двумя значениями. В основном, что-то вроде: host := arguments["<host>"] + ":" + arguments["<port>"] К сожалению, это не работает, …
114 go 

4
Как правильно оформить проект Go [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт в прошлом году . Уточните этот вопрос У меня есть проект, который становится …
113 go  project 



5
Какой вид сборки мусора использует Go?
Go - это язык со сборкой мусора: http://golang.org/doc/go_faq.html#garbage_collection Здесь написано, что это сборщик мусора, но он не вникает в детали, и его замена находится в разработке ... однако этот абзац, похоже, не сильно обновлялся с момента выпуска Go. Это все еще метка? Это консервативно или точно? Это поколенческое?

6
Как выполнить настройку теста с помощью пакета тестирования в Go
Как я могу выполнить общую обработку настройки теста, которая создает основу для всех тестов при использовании пакета тестирования ? В качестве примера в Nunit есть [SetUp]атрибут. [TestFixture] public class SuccessTests { [SetUp] public void Init() { /* Load test data */ } }
111 unit-testing  go 

7
Как проверить пустую структуру?
Я определяю структуру ... type Session struct { playerId string beehive string timestamp time.Time } Иногда я назначаю ему пустой сеанс (потому что nil невозможно) session = Session{}; Затем я хочу проверить, пусто ли оно: if session == Session{} { // do stuff... } Очевидно, это не работает. Как мне …
111 struct  go 

5
Как дождаться завершения всех горутин, не используя time.Sleep?
Этот код выбирает все файлы xml в той же папке в качестве вызываемого исполняемого файла и асинхронно применяет обработку к каждому результату в методе обратного вызова (в приведенном ниже примере выводится только имя файла). Как мне избежать использования метода сна, чтобы не допустить выхода из основного метода? У меня проблемы …

3
Почему в Go есть инструкция goto
Я был удивлен, обнаружив, что в Go есть инструкция goto . Меня всегда учили, что операторы goto ушли в прошлое и являются злом, поскольку они перекрывают реальный поток программы, и что функции или методы всегда являются лучшим способом управления потоком. Я, должно быть, что-то упускаю. Почему Google включил это?
110 go  goto 

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