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

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

2
Как добавить новые методы к существующему типу в Go?
Я хочу добавить удобный метод использования для gorilla/muxтипов Route и Router: package util import( "net/http" "github.com/0xor1/gorillaseed/src/server/lib/mux" ) func (r *mux.Route) Subroute(tpl string, h http.Handler) *mux.Route{ return r.PathPrefix("/" + tpl).Subrouter().PathPrefix("/").Handler(h) } func (r *mux.Router) Subroute(tpl string, h http.Handler) *mux.Route{ return r.PathPrefix("/" + tpl).Subrouter().PathPrefix("/").Handler(h) } но компилятор сообщает мне Невозможно определить новые …

7
Из io.Reader в строку в Go
У меня есть io.ReadCloserобъект (из http.Responseобъекта). Какой самый эффективный способ преобразовать весь поток в stringобъект?
129 go 

6
Как вы печатаете в тесте Go с помощью пакета «testing»?
Я запускаю тест в Go с оператором, чтобы что-то напечатать (например, для отладки тестов), но он ничего не печатает. func TestPrintSomething(t *testing.T) { fmt.Println("Say hi") } Когда я запускаю go test для этого файла, это результат: ok command-line-arguments 0.004s Насколько я знаю, единственный способ действительно заставить его распечатать - это …
129 testing  go 

3
json.Marshal (struct) возвращает «{}»
type TestObject struct { kind string `json:"kind"` id string `json:"id, omitempty"` name string `json:"name"` email string `json:"email"` } func TestCreateSingleItemResponse(t *testing.T) { testObject := new(TestObject) testObject.kind = "TestObject" testObject.id = "f73h5jf8" testObject.name = "Yuri Gagarin" testObject.email = "Yuri.Gagarin@Vostok.com" fmt.Println(testObject) b, err := json.Marshal(testObject) if err != nil { fmt.Println(err) } …
128 json  go  marshalling 

6
Как сделать https-запрос с плохим сертификатом?
Скажем, я хочу получить https://golang.orgпрограммно. В настоящее время golang.org (ssl) имеет плохой сертификат, который выдается *.appspot.comИтак, когда я запускаю это: package main import ( "log" "net/http" ) func main() { _, err := http.Get("https://golang.org/") if err != nil { log.Fatal(err) } } Я получаю (как я и ожидал) Get https://golang.org/: …
128 ssl  https  go 

3
Есть ли в языке Go перегрузка функций / методов?
Я портирую библиотеку C на Go. Функция AC (с varargs) определяется следующим образом: curl_easy_setopt(CURL *curl, CURLoption option, ...); Итак, я создал функции оболочки C: curl_wrapper_easy_setopt_str(CURL *curl, CURLoption option, char* param); curl_wrapper_easy_setopt_long(CURL *curl, CURLoption option, long param); Если я определю функцию в Go следующим образом: func (e *Easy)SetOption(option Option, param string) …
128 go 


1
Как я могу увидеть внутренние команды компиляции, которые не работают при установке «иди и получи»?
Я извлекаю и устанавливаю пакет с зависимостями, и компиляция не выполняется, в этом случае не удается найти файл magic.h. Как мне узнать, какие были команды и флаги компиляции? -vВариант не помогает. (Мне НЕ нужны идеи о том, где взять magic.h, это всего лишь пример.) $ go get -u github.com/presbrey/magicmime # …
126 go 

5
Почему в Go нет дженериков?
Отказ от ответственности: я играл в Go всего один день, так что есть хороший шанс, что я многое пропустил. Кто-нибудь знает, почему в Go нет реальной поддержки generics / templates / whatsInAName? Итак, есть общий map, но он предоставляется компилятором, а программист на Go не может написать свою собственную реализацию. …

6
Как разобрать временную метку unix на time.Time
Я пытаюсь разобрать временную метку Unix, но выхожу за пределы допустимого диапазона. Для меня это не имеет смысла, потому что макет правильный (как в документации Go): package main import "fmt" import "time" func main() { tm, err := time.Parse("1136239445", "1405544146") if err != nil{ panic(err) } fmt.Println(tm) } Игровая площадка
126 go  time  unix-timestamp 

5
Как объявить постоянную карту
Я пытаюсь объявить константу в Go, но выдает ошибку. Может ли кто-нибудь помочь мне с синтаксисом объявления константы в Go? Это мой код: const romanNumeralDict map[int]string = { 1000: "M", 900 : "CM", 500 : "D", 400 : "CD", 100 : "C", 90 : "XC", 50 : "L", 40 : …
126 go 

3
Как очистить кусочек в Go?
Как лучше всего очистить фрагмент в Go? Вот что я нашел на форумах го : // test.go package main import ( "fmt" ) func main() { letters := []string{"a", "b", "c", "d"} fmt.Println(cap(letters)) fmt.Println(len(letters)) // clear the slice letters = letters[:0] fmt.Println(cap(letters)) fmt.Println(len(letters)) } Это верно? Чтобы уточнить, буфер очищается, …
125 arrays  go  slice 

2
Отступы в Go: табуляция или пробелы?
Есть ли где-нибудь стандартный документ с соглашениями о кодировании в Google Go, который устанавливает, предпочтительны ли табуляции или пробелы для отступов в исходном коде Go? Если нет, то какой вариант (статистически) более популярен? Какая официальная рекомендация? (если есть) Какой выбор более популярный?

8
Инициализировать вложенную структуру
Я не могу понять, как инициализировать вложенную структуру. Пример можно найти здесь: http://play.golang.org/p/NL6VXdHrjh package main type Configuration struct { Val string Proxy struct { Address string Port string } } func main() { c := &Configuration{ Val: "test", Proxy: { Address: "addr", Port: "80", }, } }
125 go 

3
Доступ к HTTP-ответу в виде строки в Go
Я хочу проанализировать ответ на веб-запрос, но у меня возникают проблемы с доступом к нему как к строке. func main() { resp, err := http.Get("http://google.hu/") if err != nil { // handle error } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) ioutil.WriteFile("dump", body, 0600) for i:= 0; i < len(body); i++ …
125 networking  go 

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