Запитання з тегом «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, …
181 json  go 

12
Видалення полів із структури або приховування їх у JSON Response
Я створив API в Go, який після виклику виконує запит, створює екземпляр структури, а потім кодує цю структуру як JSON перед тим, як відправити назад до абонента. Тепер я хотів би дозволити абоненту можливість вибирати конкретні поля, які вони хотіли б повернути, перейшовши в параметр GET "поля". Це означає, що …
181 json  go 

5
Як користуватися спеціальними пакетами
Я намагаюся створити і використовувати спеціальний пакет у Go. Це, мабуть, щось дуже очевидно, але я не можу знайти про це багато інформації. В основному я маю ці два файли в одній папці: mylib.go package mylib type SomeType struct { } main.go package main import ( "mylib" ) func main() …
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
Перетворіть байт-фрагмент в 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, …
177 go 


2
Ключові імена JSON з малих літер з маршалом JSON в компанії Go
Я хочу використати "encoding/json"пакет для маршалювання структури, оголошеної в одному з імпортованих пакетів моєї заявки. Напр .: type T struct { Foo int } Оскільки він імпортується, усі доступні (експортовані) поля в структурі починаються з великої літери. Але я хочу мати невеликі ключові імена: out, err := json.Marshal(&T{Foo: 42}) призведе …
175 json  go  marshalling 

10
Чи є спосіб перебрати цілий спектр цілих чисел?
Діапазон Go може повторювати карти та фрагменти, але мені було цікаво, чи є спосіб перебрати ряд діапазонів, як-от так: for i := range [1..10] { fmt.Println(i) } Або є спосіб представити діапазон цілих чисел у Go, як Ruby робить з класом Range ?
174 go 

12
Як використовувати C ++ у Go
Як я можу викликати код C ++ у новій мові Go ? Іншими словами, як я можу обгортати свої 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 

2
Як отримати останній елемент зрізу?
Який спосіб вилучити останній елемент фрагмента? var slice []int slice = append(slice, 2) slice = append(slice, 7) slice[len(slice)-1:][0] // Retrieves the last element Рішення вище працює, але здається незручним.
167 go  slice 

5
видалити карту [ключ] у дорозі?
У мене є карта: var sessions = map[string] chan int{} Як видалити sessions[key]? Я намагався: sessions[key] = nil,false; Це не спрацювало. Оновлення (листопад 2011 р.): У Go версії 1 видалено спеціальний синтаксис для видалення записів на карті : Перехід 1 видалить спеціальне призначення карт та введе нову вбудовану функцію delete:: …
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, …
165 http  go  cors  http-headers 

5
Розподіл конструкцій в Stack vs купі в Go і те, як вони пов'язані зі збиранням сміття
Я новачок у Go, і я відчуваю трохи консолідованого дисонансу між програмою, заснованою на стеці на стилі C, де автоматичні змінні живуть на стеці та виділеною пам’яттю живуть на купі та та програмуванням на основі стику Python, де Єдине, що живе на стеку - це посилання / покажчики на предмети …

6
виявлення нуля в Go
Я бачу дуже багато коду в 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.