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

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

7
Чи є спосіб робити повторювані завдання з інтервалом?
Чи є спосіб виконувати повторювані фонові завдання в програмі Go? Я думаю про щось на кшталт Timer.schedule(task, delay, period)Java. Я знаю, що я можу це зробити за допомогою програми і Time.sleep(), але мені б хотілося, щоб щось легко зупинилося. Ось що я отримав, але виглядає мені некрасиво. Чи є чистіший …
148 go 

6
Макет функції в Go
Я вчусь Go, кодуючи невеликий особистий проект. Незважаючи на те, що він невеликий, я вирішив зробити суворе тестування, щоб навчитися хорошим звичкам Go від самого початку. Тривіальні одиничні тести були всі прекрасні та денді, але я зараз спантеличений залежностями; Я хочу мати можливість замінити деякі виклики функцій на макетні. Ось …
147 unit-testing  mocking  go 

7
Як отримати кількість символів у рядку?
Як я можу отримати кількість символів рядка в Go? Наприклад, якщо у мене є рядок, "hello"метод повинен повернутися 5. Я бачив, що len(str)повертає кількість байтів, а не кількість символів, тому len("£")повертає 2 замість 1, оскільки £ закодовано двома байтами в UTF-8.

6
У Go, чи перервається оператор перерви від перемикання / вибору?
Я знаю, що switch/ selectзаяви виходять з ладу автоматично після кожного випадку. Цікаво, у наступному коді: for { switch sometest() { case 0: dosomething() case 1: break default: dosomethingelse() } } Чи закінчується breakоператор із forциклу чи просто switchблоку?

10
Який правильний спосіб "дістати" приватне сховище?
Я шукаю спосіб отримати $ go getроботу з приватним сховищем після багатьох спробу Google. Перша спроба: $ go get -v gitlab.com/secmask/awserver-go Fetching https://gitlab.com/secmask/awserver-go?go-get=1 https fetch failed. Fetching http://gitlab.com/secmask/awserver-go?go-get=1 Parsing meta tags from http://gitlab.com/secmask/awserver-go?go-get=1 (status code 200) import "gitlab.com/secmask/awserver-go": parse http://gitlab.com/secmask/awserver-go?go-get=1: no go-import meta tags package gitlab.com/secmask/awserver-go: unrecognized import path "gitlab.com/secmask/awserver-go …
143 git  go 

6
Як встановити значення за замовчуванням у структурах Go
На наступне питання є кілька відповідей / методів: Як встановити значення за замовчуванням для голанг-структур? Як ініціалізувати структури в голангу У мене є пара відповідей, але подальше обговорення потрібно.

4
Чому я не можу призначити * Struct інтерфейсу *?
Я просто працюю через гастрольний тур Go , і я плутаюся вказівників та інтерфейсів. Чому цей код не компілюється? package main type Interface interface {} type Struct struct {} func main() { var ps *Struct var pi *Interface pi = ps _, _ = pi, ps } тобто якщо Structє …
142 go 

6
Перехресна компіляція Перейти на OSX?
Я намагаюсь перехресно скласти додаток go на OSX для створення бінарних файлів для Windows та Linux. Я прочитав усе, що міг знайти в мережі. Найближчий приклад, який я знайшов, був опублікований (окрім багатьох незавершених дискусій у списку розсилки go-nuts): http://solovyov.net/en/2012/03/09/cross-compiling-go/ але це не працює на моїй установці. Я маю йти …


3
Як `іти тестувати` всі тести в моєму проекті?
go testКоманда охоплює *_test.goфайли тільки в одному рідше. Я хочу, щоб go testвесь проект, а це означає, що тест повинен охоплювати всі *_test.goфайли в dir ./та кожен dirren dir під dir ./. Яка команда це зробити?
141 testing  go 

6
Видалити елемент з фрагмента
func main() { a := []string{"Hello1", "Hello2", "Hello3"} fmt.Println(a) // [Hello1 Hello2 Hello3] a = append(a[:0], a[1:]...) fmt.Println(a) // [Hello2 Hello3] } Як працює цей фокус видалення за допомогою функції додавання? Здавалося б, це схоплює все перед першим елементом (порожній масив) Потім додавання всього після першого елемента (нульове положення) Що …
139 go 

5
Перехід: "Неможливо знайти пакет" (навіть якщо GOPATH встановлений)
Незважаючи на те, що я GOPATHналаштований належним чином, я все ще не можу "побудувати" або "запустити", щоб знайти власні пакети. Що я роблю неправильно? $ echo $GOROOT /usr/local/go $ echo $GOPATH /home/mitchell/go $ cat ~/main.go package main import "foobar" func main() { } $ cat /home/mitchell/go/src/foobar.go package foobar $ go …
139 build  go  package 

7
Розбір рядка дати в Go
Я спробував проаналізувати рядок дати "2014-09-12T11:45:26.371Z"в Go. Код layout := "2014-09-12T11:45:26.371Z" str := "2014-11-12T11:45:26.371Z" t, err := time.Parse(layout , str) Я отримав цю помилку: час розбору "2014-11-12T11: 47: 39.489Z": місяць поза межами діапазону Як я можу проаналізувати цей рядок дати?
138 date  go 

2
Як визначити кілька тегів імен у структурі
Мені потрібно отримати елемент із бази даних mongo, тому я визначив структуру на зразок цієї type Page struct { PageId string `bson:"pageId"` Meta map[string]interface{} `bson:"meta"` } Тепер мені також потрібно кодувати його до JSON, але він кодує поля як великі регістри (я отримую PageId замість pageId), тому мені також потрібно …
137 json  struct  go 

3
Що означає "." (крапка або крапка) у заяві про імпорт Go - робити?
У підручнику Go і більшості коду Go, який я переглянув, пакети імпортуються так: import ( "fmt" "os" "launchpad.net/lpad" ... ) Але в http://bazaar.launchpad.net/~niemeyer/lpad/trunk/view/head:/session_test.go пакет імпортування імпортується з .(періодом): import ( "http" . "launchpad.net/gocheck" "launchpad.net/lpad" "os" ) Яке значення має період .(період)?
135 import  go 

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