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

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

5
Несколько значений в однозначном контексте
Из-за обработки ошибок в Go я часто получаю функции с несколькими значениями. До сих пор я с этим справлялся очень запутанно, и я ищу лучшие практики для написания более чистого кода. Скажем, у меня есть следующая функция: type Item struct { Value int Name string } func Get(value int) (Item, …

10
Почему Go такой медленный (по сравнению с Java)?
Как мы могли видеть из игры The Computer Language Benchmarks Game в 2010 году: Go в среднем в 10 раз медленнее, чем C Go в 3 раза медленнее Java !? Как это может быть, учитывая, что компилятор Go создает для исполнения собственный код? Незрелые компиляторы для Go? Или есть какая-то …


13
Как импортировать определенную версию пакета с помощью go get?
исходящий из Nodeсреды, которую я использовал для установки определенной версии библиотеки поставщика в папку проекта ( node_modules), указав npmустановить эту версию этой библиотеки изpackage.json консоли или даже непосредственно с консоли, например: $ npm install express@4.0.0 Затем я импортировал эту версию этого пакета в свой проект с помощью: var express = …

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

3
Пример для sync.WaitGroup правильно?
Правильно ли этот пример использования sync.WaitGroup? Это дает ожидаемый результат, но я не уверен насчет положения wg.Add(4)и wg.Done(). Имеет ли смысл добавлять сразу четыре горутины wg.Add()? http://play.golang.org/p/ecvYHiie0P package main import ( "fmt" "sync" "time" ) func dosomething(millisecs time.Duration, wg *sync.WaitGroup) { duration := millisecs * time.Millisecond time.Sleep(duration) fmt.Println("Function in background, …
108 go  goroutine 


11
Как записать журнал в файл
Пытаюсь записать в лог файл с помощью Go. Я пробовал несколько подходов, но все они потерпели неудачу. Вот что я пробовал: func TestLogging(t *testing.T) { if !FileExists("logfile") { CreateFile("logfile") } f, err := os.Open("logfile") if err != nil { t.Fatalf("error: %v", err) } // attempt #1 log.SetOutput(io.MultiWriter(os.Stderr, f)) log.Println("hello, logfile") …
108 go  logging 

2
Приемник значения против приемника указателя
Для меня очень непонятно, в каком случае я хотел бы использовать приемник значения вместо того, чтобы всегда использовать приемник указателя. Резюмируя из документов: type T struct { a int } func (tv T) Mv(a int) int { return 0 } // value receiver func (tp *T) Mp(f float32) float32 { …
108 function  pointers  go 

3
Итерации по полям структуры в Go
По сути, единственный способ (который я знаю) перебирать значения полей a structвыглядит следующим образом: type Example struct { a_number uint32 a_string string } //... r := &Example{(2 << 31) - 1, "...."}: for _, d:= range []interface{}{ r.a_number, r.a_string, } { //do something with the d } Мне было интересно, …
108 go  go-reflect 


2
«<Тип> - это указатель на интерфейс, а не на интерфейс».
Уважаемые коллеги-разработчики! У меня возникла эта проблема, которая мне кажется немного странной. Взгляните на этот фрагмент кода: package coreinterfaces type FilterInterface interface { Filter(s *string) bool } type FieldFilter struct { Key string Val string } func (ff *FieldFilter) Filter(s *string) bool { // Some code } type FilterMapInterface interface …
108 pointers  go  interface 

4
Как разбить длинную строку кода в Голанге?
Исходя из Python, я не привык видеть строки кода длиннее 80 столбцов. Итак, когда я сталкиваюсь с этим: err := database.QueryRow("select * from users where user_id=?", id).Scan(&amp;ReadUser.ID, &amp;ReadUser.Name, &amp;ReadUser.First, &amp;ReadUser.Last, &amp;ReadUser.Email) Я пытался сломать это err := database.QueryRow("select * from users where user_id=?", id) \ .Scan(&amp;ReadUser.ID, &amp;ReadUser.Name, &amp;ReadUser.First, &amp;ReadUser.Last, &amp;ReadUser.Email) …
108 go  syntax 

2
Как вы устанавливаете значение поля структуры с помощью функции «Отражение»?
трудно работать с полями структуры с помощью reflectpackage. в частности, не придумали, как задать значение поля. введите t struct {fi int; строка fs} var rt = t {123, "jblow"} var i64 int64 = 456 получение имени поля i - похоже, это работает var field = reflect.TypeOf(r).Field(i).Name получение значения поля i …

7
Как установить тайм-аут для запросов http.Get () в Golang?
Я делаю сборщик URL-адресов в Go и имею список URL-адресов для получения. Я отправляю http.Get()запросы на каждый URL и получаю от них ответ. resp,fetch_err := http.Get(url) Как я могу установить индивидуальный тайм-аут для каждого запроса Get? (Время по умолчанию очень велико, и это делает мой сборщик очень медленным.) Я хочу, …
107 http  get  timeout  go 

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