Запитання з тегом «go»

Go - мова програмування з відкритим кодом. Він має статичний тип, із синтаксисом, який походить від C, додає автоматичне управління пам’яттю, безпеку типу, деякі можливості динамічного набору тексту, додаткові вбудовані типи, такі як масиви змінної довжини (називаються фрагментами) та карти ключових значень, та велика стандартна бібліотека.


3
діапазон інтерфейсу {}, в якому зберігається фрагмент
Враховуючи сценарій, коли у вас є функція, яка приймає t interface{}. Якщо визначено, що tце фрагмент, як мені rangeперевищити цей фрагмент? func main() { data := []string{"one","two","three"} test(data) moredata := []int{1,2,3} test(data) } func test(t interface{}) { switch reflect.TypeOf(t).Kind() { case reflect.Slice: // how do I iterate here? for _,value …

3
Значення за замовчуванням у методі Go
Чи є спосіб вказати значення за замовчуванням у функції Go? Я намагаюся знайти це в документації, але не можу знайти нічого, що вказує на те, що це навіть можливо. func SaySomething(i string = "Hello")(string){ ... }
100 go 



3
Частково JSON невстановлений на карту в Go
Мій веб-сокет-сервер буде отримувати та відключати дані JSON. Ці дані завжди будуть упаковані в об'єкт з парами ключ / значення. Рядок ключів буде діяти як ідентифікатор значення, повідомляючи серверу Go, яке це значення. Знаючи, який тип значення, я можу перейти до JSON демаршалізувати значення до правильного типу структури. Кожен json-об'єкт …
98 json  map  go 

3
Отримання повідомлення про помилку "bytes.Buffer не реалізує io.Writer"
Я намагаюся, щоб якийсь об'єкт Go реалізував io.Writer, але записує в рядок замість файлу або файлоподібного об'єкта. Я думав, що bytes.Bufferбуде працювати, оскільки він реалізує Write(p []byte). Однак коли я спробую це: import "bufio" import "bytes" func main() { var b bytes.Buffer foo := bufio.NewWriter(b) } Я отримую таку помилку: …
98 go 

5
Як зробити порівняння дати та часу
Чи є варіанти порівняння дат у Go? Я повинен сортувати дані за датою та часом - самостійно. Тож я можу дозволити об'єкт, який виникає в межах діапазону дат, якщо він також виникає в діапазоні разів. У цій моделі я не міг просто вибрати найстарішу дату, наймолодший час / останню дату, …


4
Що може статися, якщо я не закрию відповідь. Тіло?
У Go у мене є відповіді на http, і я іноді забуваю зателефонувати: resp.Body.Close() Що відбувається в цьому випадку? чи буде витік пам'яті? Також безпечно вводити його defer resp.Body.Close()відразу після отримання об'єкта відповіді? client := http.DefaultClient resp, err := client.Do(req) defer resp.Body.Close() if err != nil { return nil, err …
98 go 

2
Чому я можу вводити функції псевдонімів і використовувати їх без трансляції?
Якщо в Go визначити новий тип, наприклад: type MyInt int Тоді ви не можете передати a MyIntфункції, яка очікує int, або навпаки: func test(i MyInt) { //do something with i } func main() { anInt := 0 test(anInt) //doesn't work, int is not of type MyInt } Чудово. Але чому …
97 types  casting  go 

4
Розділювальні модульні тести та інтеграційні тести в Go
Чи існує встановлена ​​найкраща практика розділення модульних тестів та інтеграційних тестів у GoLang (засвідчити)? У мене є поєднання модульних тестів (які не покладаються на будь-які зовнішні ресурси і, отже, працюють дуже швидко) та інтеграційних тестів (які покладаються на будь-які зовнішні ресурси і, отже, працюють повільніше). Отже, я хочу мати можливість …

10
Перетворити інтерфейс {} на int
Я намагаюся отримати значення з JSON і передати його в int, але це не працює, і я не знаю, як це правильно зробити. Ось повідомлення про помилку: ...cannot convert val (type interface {}) to type int: need type assertion І код: var f interface{} err = json.Unmarshal([]byte(jsonStr), &f) if err …
97 go 

5
Як подати відповідь JSON за допомогою Go?
Питання: В даний час я роздруковую свою відповідь приблизно func Index так, fmt.Fprintf(w, string(response)) однак, як я можу правильно надіслати JSON у запиті, щоб він, можливо, був використаний видом? package main import ( "fmt" "github.com/julienschmidt/httprouter" "net/http" "log" "encoding/json" ) type Payload struct { Stuff Data } type Data struct { …
97 json  go 

8
Як відключити невикористану помилку імпорту Golang
За замовчуванням Go використовує невикористаний імпорт як помилку, змушуючи вас видалити імпорт. Я хочу знати, чи є якась надія змінити цю поведінку, наприклад, звести її до попередження. Я вважаю цю проблему надзвичайно дратівливою, заважаючи мені насолоджуватися кодуванням в Go. Наприклад, я тестував якийсь код, відключаючи сегмент / функцію. Деякі функції …
96 go 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.