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

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

4
Преобразование структуры Go в JSON
Я пытаюсь преобразовать структуру Go в JSON, используя jsonпакет, но все, что я получаю, это {}. Я уверен, что это нечто совершенно очевидное, но я этого не вижу. package main import ( "fmt" "encoding/json" ) type User struct { name string } func main() { user := &User{name:"Frank"} b, err …
181 json  go 

12
Удаление полей из структуры или скрытие их в ответе JSON
Я создал API в Go, который после вызова выполняет запрос, создает экземпляр структуры и затем кодирует эту структуру как JSON перед отправкой обратно вызывающей стороне. Теперь я бы хотел, чтобы вызывающая сторона могла выбрать конкретные поля, которые они хотели бы вернуть, передав параметр GET «fields». Это означает, что в зависимости …
181 json  go 

2
Конвертировать срез байтов в io.Reader
В моем проекте у меня есть кусочек байта из ответа на запрос. defer resp.Body.Close() if resp.StatusCode != http.StatusOK { log.Println("StatusCode为" + strconv.Itoa(resp.StatusCode)) return } respByte, err := ioutil.ReadAll(resp.Body) if err != nil { log.Println("fail to read response data") return } Это работает, но если я хочу получить тело ответа io.Reader, …
179 go 

6
Как использовать пользовательские пакеты
Я пытаюсь создать и использовать пользовательский пакет в Go. Возможно, это что-то очень очевидное, но я не могу найти много информации об этом. По сути, у меня есть эти два файла в одной папке: mylib.go package mylib type SomeType struct { } main.go package main import ( "mylib" ) func …
178 import  package  go 

4
невозможно преобразовать данные (интерфейс типа {}) в строку типа: необходимо утверждение типа
Я довольно новичок, и я играл с этим пакетом уведомлений . Сначала у меня был код, который выглядел так: func doit(w http.ResponseWriter, r *http.Request) { notify.Post("my_event", "Hello World!") fmt.Fprint(w, "+OK") } Я хотел добавить новую строку, Hello World!но не в функции doitвыше, потому что это было бы довольно тривиально, но …
178 go  type-mismatch 


2
Названия ключей JSON в нижнем регистре с помощью JSON Marshal в Go
Я хочу использовать "encoding/json"пакет, чтобы упорядочить структуру, объявленную в одном из импортированных пакетов моего приложения. Например.: type T struct { Foo int } Поскольку он импортируется, все доступные (экспортируемые) поля в структуре начинаются с заглавной буквы. Но я хотел бы иметь имена ключей в нижнем регистре: out, err := json.Marshal(&T{Foo: …
175 json  go  marshalling 

10
Есть ли способ перебрать диапазон целых чисел?
Диапазон Go может перебирать карты и фрагменты, но мне было интересно, есть ли способ перебора диапазона чисел, что-то вроде этого: for i := range [1..10] { fmt.Println(i) } Или есть способ представить диапазон целых чисел в Go, как это делает Ruby с классом Range ?
175 go 

12
Как использовать C ++ в Go
В новом языке Go , как я могу назвать код C ++? Другими словами, как я могу обернуть свои классы C ++ и использовать их в Go?
173 c++  wrapper  go 

7
Как импортировать локальные пакеты без gopath
Я использовал, GOPATHно для этой текущей проблемы, с которой я сталкиваюсь, это не помогает. Я хочу иметь возможность создавать пакеты, специфичные для проекта: myproject/ ├── binary1.go ├── binary2.go ├── package1.go └── package2.go Я пробовал несколько способов, но как мне начать package1.goработать в binary1.goили binary2.goи так далее? Например; Я хочу иметь …
171 go  package 


5
удалить карту [ключ] в ходу?
У меня есть карта: var sessions = map[string] chan int{} Как мне удалить sessions[key]? Я попытался: sessions[key] = nil,false; Это не сработало. Обновление (ноябрь 2011): Специальный синтаксис для удаления записей карты удален в версии Go 1 : Go 1 удалит специальное назначение карты и введет новую встроенную функцию delete: delete(m, …
166 map  go 

8
Установка заголовков HTTP
Я пытаюсь установить заголовок на своем веб-сервере Go. Я использую gorilla/muxи net/httpпакеты. Я хотел бы Access-Control-Allow-Origin: *разрешить междоменный AJAX. Вот мой код Go: func saveHandler(w http.ResponseWriter, r *http.Request) { // do some stuff with the request data } func main() { r := mux.NewRouter() r.HandleFunc("/save", saveHandler) http.Handle("/", r) http.ListenAndServe(":"+port, nil) …
165 http  go  cors  http-headers 

5
Распределение стека и куча структур в Go и как они связаны со сборкой мусора
Я новичок в Go и испытываю небольшой диссонанс между программированием на основе стека в стиле C, где автоматические переменные живут в стеке, а выделенная память - в куче, и программированием на основе стека в стиле Python, где Единственное, что живет в стеке - это ссылки / указатели на объекты в …

6
ноль обнаружения в го
Я вижу много кода в Go, чтобы обнаружить ноль, например так: if err != nil { // handle the error } Тем не менее, у меня есть такая структура: type Config struct { host string port float64 } и config это экземпляр Config, когда я делаю: if config == nil …
165 go  null 

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