go- все статьи тега ➜ страница 3
Удаление полей из структуры или скрытие их в ответе JSON
Я создал API в Go, который при вызове выполняет запрос, создает экземпляр структуры, а затем кодирует эту структуру как JSON перед отправкой обратно вызывающему объекту. Теперь я хотел бы позволить вызывающему абоненту выбрать конкретные поля, которые они хотели бы вернуть, передав параметр GET "fields". Это означает, что в зависимости от значений полей моя структура изменится. Есть ли способ удалить поля из структуры? Или, по крайней мере, скрыть их в JSON ответ динамично? (Примечание: ино ...
Преобразования идут структуры в JSON
Я пытаюсь преобразовать структуру Go в JSON с помощью json пакет, но все, что я получаю это {}. Я уверен, что это нечто совершенно очевидное, но я этого не вижу. package main import ( "fmt" "encoding/json" ) type User struct { name string } func main() { user := &User{name:"Frank"} b, err := json.Marshal(user) if err != nil { fmt.Printf("Error: %s", err) return; } fmt.Println(string(b)) } затем, когда я пытаюсь запустить его, я получаю эт ...
Как импортировать и использовать различные пакеты с одинаковым именем на языке Go?
например, я хочу использовать как Текст/шаблон, так и html/шаблон в одном исходном файле. Но приведенный ниже код выдает ошибки. import ( "fmt" "net/http" "text/template" // template redeclared as imported package name "html/template" // template redeclared as imported package name ) func handler_html(w http.ResponseWriter, r *http.Request) { t_html, err := html.template.New("foo").Parse(`{{define "T"}}Hello, {{.}}!{{end}}`) t_text, err := text.template.New("foo").Parse ...
Объявить константный массив
Я пробовал: const ascii = "abcdefghijklmnopqrstuvwxyz" const letter_goodness []float32 = { .0817,.0149,.0278,.0425,.1270,.0223,.0202, .0609,.0697,.0015,.0077,.0402,.0241,.0675, .0751,.0193,.0009,.0599,.0633,.0906,.0276, .0098,.0236,.0015,.0197,.0007 } const letter_goodness = { .0817,.0149,.0278,.0425,.1270,.0223,.0202, .0609,.0697,.0015,.0077,.0402,.0241,.0675, .0751,.0193,.0009,.0599,.0633,.0906,.0276, .0098,.0236,.0015,.0197,.0007 } const letter_goodness = []float32 { .0817,.0149,.0278,.042 ...
Как разделить строку и назначить ее переменным в Golang?
в Python можно разделить строку и присвоить ее переменные: ip, port = '127.0.0.1:5432'.split(':') но в Golang это, кажется, не работает: ip, port := strings.Split("127.0.0.1:5432", ":") // assignment count mismatch: 2 = 1 вопрос: как разделить строку и присвоить значения за один шаг? ...
Какую сборку мусора использует Go?
Go-это язык сбора мусора: http://golang.org/doc/go_faq.html#garbage_collection здесь говорится, что это сборщик мусора mark-and-sweep, но он не вникает в детали, и замена находится в работе... тем не менее, этот пункт, похоже, не был сильно обновлен с момента выхода Go. Это все еще Марк-и-развертки? Это консервативно или точно? Это поколенческое? ...
Сканирование файловых систем в Golang
Мне нужно написать функцию, которая при заданном пути к папке сканирует файлы, размещенные в этой папке. и затем мне нужно, чтобы отобразить структуру каталогов в этой папке. Я знаю, как сделать 2 (я собираюсь использовать jstree для отображения его в браузере). пожалуйста, помогите мне с частью 1, например, что / где начать писать такое функция в go. ...
Как изменить int в int64?
Я пытаюсь преобразовать целое число в integer64 в go, но мне не повезло. Кто-нибудь знает простой способ сделать это? ...
Как получить текущую метку времени в Go?
каков наилучший способ получить текущую метку времени в Go и преобразовать в строку? Мне нужны как дата, так и время, например. Формат YYYYMMDDhhmmss. ...
Как узнать положение элемента в срезе?
Как определить положение элемента в срезе? Мне нужно что-то вроде следующего: type intSlice []int func (slice intSlice) pos(value int) int { for p, v := range slice { if (v == value) { return p } } return -1 } ...
Чтение текстового файла в массив строк (и запись)
возможность чтения (и записи) текстового файла в строковый массив и из него я считаю довольно распространенным требованием. Это также очень полезно при запуске с языка, удаляющего необходимость первоначально обращаться к базе данных. Нет в Golang? например, func ReadLines(sFileName string, iMinLines int) ([]string, bool) { и func WriteLines(saBuff[]string, sFilename string) (bool) { Я бы предпочел использовать уже существующий, а не дублировать. ...
X не реализует Y (...метод имеет приемник указателя)
уже есть несколько вопросов и ответов на этот "X не реализует Y (... метод имеет приемник указателя) ...
Существует ли какой-либо интерактивный отладчик golang? [закрытый]
название в значительной степени подводит итог. Я пытаюсь идти, и мне очень не хватает возможности устанавливать точки останова и входить/выходить/выходить столько, сколько я хочу в интерактивной среде. Я знаю, что могу использовать gdb для отладки Go, но это довольно раздражает по сравнению с использованием IDE, которая может подключаться к gdb для breakpointing. Я попытался найти один и смог найти только плагины или небольшие IDE, которые имеют подсветку синтаксиса, но не отладку. ...
Как установить заголовки в http get request?
Я делаю простой http GET in Go: client := &http.Client{} req, _ := http.NewRequest("GET", url, nil) res, _ := client.Do(req) но я не могу найти способ, чтобы изменить заголовок запроса в doc, спасибо ...
Правильный подход к глобальной регистрации в Golang
каков шаблон для входа в приложение Go? Если у меня есть, скажем, 5 goroutines, из которых мне нужно войти, должен ли я... создать один log.Logger и передать его? передайте указатель на это log.Logger? должен ли каждый goroutine или функция создать регистратор? должен ли я создать логгер как глобальную переменную? ...
Unmarshaling вложенные объекты JSON в Golang
здесь aнескольковопросы на темы но ни один из них, похоже, не покрывает мое дело, поэтому я создаю новый. у меня есть JSON, как следующее: {"foo":{ "bar": "1", "baz": "2" }, "more": "text"} есть ли способ отключить свойство вложенного бара и назначить его непосредственно свойству структуры без создания вложенной структуры? решение, которое я принимаю прямо сейчас, заключается в следующем: type Foo struct { More String `json:"more"` Foo struct { Bar string `json:"bar"` ...
Есть ли способ создать UUID с помощью языка go
у меня есть код, который выглядит так: u := make([]byte, 16) _, err := rand.Read(u) if err != nil { return } u[8] = (u[8] | 0x80) & 0xBF // what does this do? u[6] = (u[6] | 0x40) & 0x4F // what does this do? return hex.EncodeToString(u) он возвращает строку длиной 32, но я не думаю, что это допустимый UUID. Если это реальный UUID, то почему это UUID, и какова цель кода, который изменяет значение u[8] и u[6]. есть ли лучший способ генерации UUIDs? ...
Имеет ли язык Go перегрузку функции/метода?
Я портирую библиотеку C, чтобы пойти. Функция C (с 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) { e.code = Code(C.curl_wrapper_easy_setopt_str(e.curl, C ...
Как ждать, пока все goroutines закончат, не используя время.Спать?
этот код выбирает все xml-файлы в той же папке, что и вызываемый исполняемый файл, и асинхронно применяет обработку к каждому результату в методе обратного вызова (в приведенном ниже примере выводится только имя файла). Как мне избежать использования метода сна, чтобы основной метод не выходил? У меня есть проблемы с обертыванием головы вокруг каналов (я предполагаю, что это то, что нужно, чтобы синхронизировать результаты), поэтому любая помощь приветствуется! package main import ( "fmt" ...
Как получить имя функции в Go?
учитывая функцию, можно ли получить ее имя? Скажи: func foo() { } func GetFunctionName(i interface{}) string { // ... } func main() { // Will print "name: foo" fmt.Println("name:", GetFunctionName(foo)) } Мне сказали, что во время выполнения.FuncForPC поможет, но я не смог понять, как его использовать. ...