Questions tagged [golang]

Вопросы и обсуждения, связанные с программированием на языке Go.

Описание

Go, он же Golang, компилируемый, многопоточный язык программирования, разрабатываемый с 2007 года компанией Google. Проектированием языка занимались Роб Пайк и Кен Томпсон. Спецификация языка и документация по стандартной библиотеке доступна на go.dev.

Go является свободным программным продуктом, который позволяет легко построить простое, надежное и эффективное программное обеспечение.

Как сказано в документации, Go — проект, который делает программистов более продуктивными. Go является выразительным, лаконичным, чистым и эффективным. Его механизмы параллелизма позволяют легко писать программы, которые получают максимальную отдачу от многоядерных процессоров и сетевых машин, в то время как его устройство обеспечивает гибкую и модульную конструкцию программы. Go, быстро компилируя в машинный код, все же имеет сборщика мусора и поддержку рефлексии. Это быстрый строго статически типизированный компилируемый язык, который чувствуется, как динамически типизированный интерпретируемый.

Ссылки

Информационные ресурсы

Сообщества и группы

1986 questions
18
votes
5 answers

Язык Go - зачем он нужен и что на нем пишут?

Этот язык уже несколько лет в поле видимости. Но что на нем пишут? И что можно написать? Стоит ли его учить? Или он скоро исчезнет?
dfhsfhgfj
  • 2,274
10
votes
5 answers

Есть ли в Go тернарный оператор?

Есть ли в Go тернарный оператор?
Nicolas Chabanovsky
  • 51,426
  • 87
  • 267
  • 507
6
votes
1 answer

Почему исполняемый файл Go много больше, чем C?

Например. hi.c #include int main() { printf("C\n"); } hi.go package main import "fmt" func main() { fmt.Println("Go") } Собираем: $ gcc -o c hi.c $ 8g hi.go && 8l -o go hi.8 Получаем: $ ls -l 7088 2010-10-29 21:33…
stanislav
  • 34,518
  • 27
  • 98
  • 214
6
votes
2 answers

Golang и "concurrency"

На официальной русской страничке документации Golang сообщается: Термин "concurrency" в программировании, судя по всему, не имеет точного аналога в русском языке. Хотя многие переводят его как "параллелизм", это ошибка (см. Parallelism is…
Jeremy
  • 136
5
votes
4 answers

Случайное число в golang

Как получить случайное число? Вот функция, но она выводить всегда цифру "81" package main import ("fmt"; "math/rand") func main() { fmt.Println(rand.Intn(100)) }
Mike
  • 874
4
votes
2 answers

Это анонимная функция, замыкание или что-то еще?

В документации к пакету нашел следующий код: check:=func(err error) { if err != nill { log.Fatal(err) } } Далее по коду происходит вызов: check(err) как это правильно называется и для чего так делают? Почему нельзя было просто…
4
votes
3 answers

Goroutines - суть потоки?

В документации Golang как-то неясно раскрывается суть goroutines. Скажите, goroutines - это ничто иное как потоки операционной системы? (т.е. как я пониманию, компилятор Go сам заботится о внутренней реализации этих потоков в зависимости от…
Jeremy
  • 136
4
votes
3 answers

Параметры и аргументы функций в Go

Добрый день! Подскажите, пожалуйста, по двум вопросам. 1) Можно ли в Go писать функции с необязательными параметрами? Типа как в PHP function MyFunc($var1, $var2 = 1){} 2) Есть ли в Go возможность передавать значение переменной по ссылке? Опять же,…
4
votes
1 answer

Golang память переменные

Объясните пожалуйста момент с памятью, первый вариант потребляет 7МБ памяти, а второй 0,9МБ. Что происходит с переменной v, почему то мне казалось что первый вариант должен наоборот меньше потреблять. 1 вариант package main type comm struct { …
3
votes
1 answer

Идиоматичная обработка ошибок в Go

Представьте, что Вы открыли коннект к БД, получили курсор и делаете, как обычно: defer c.Close() Но в этом коде есть нюанс. Очень часто, Close() возвращает ошибку. В таком случае, мне не ясно, что с ней делать. С одной стороны есть замечательный…
hedgehogues
  • 9,569
3
votes
0 answers

Работа с вызванной программой

Необходимо с помощью Go производить автоматизацию процессов ввода информации в запущенную программу из консоли. Например возьмем программу ftp: При появлении "ftp>" ввести следующие данные "open 192.168.0.1" При появлении "Name (192.168.0.1):"…
3
votes
1 answer

Как узнать конкретную OS?

Как узнать конкретную ОС пример: Windows XP, windows 7 и т.д. runtime.GOOS узнает только лишь платформу windows/linux/darwin, а узнать конкретную ОС не может. Как узнать конкретную ОС?
3
votes
2 answers

Как понять что канал для записи закрыт

Добрый день, у меня возник вопрос по использованию каналов в golang, точнее как определить что канал закрыт Вот пример: package main import ( "fmt" "time" ) func run () chan string { c := make(chan string) i := 0 go func() { …
chernomyrdin
  • 4,188
3
votes
2 answers

Как на golang получить список файлов и папок в определённой папке?

Подскажите пожалуйста. Как на golang получить список файлов и папок в определённой папке?
Rakzin Roman
  • 5,720
3
votes
1 answer

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

Здравствуйте, с го знаком не долго, поэтому вопрос немного "Ламерский". Есть запрос Mysql rows, err := db.Query("SELECT * FROM users WHERE user='login"';) Login я получил раньше и он в в формате string. Подскажите как вставить сюда…
Pechenkyo
  • 181
1
2 3
43 44