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

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

4
Распаковываем массив как аргументы
Итак, в Python и Ruby есть оператор splat (*) для распаковки массива в качестве аргументов. В Javascript есть функция .apply (). Есть ли способ распаковки массива / фрагмента в качестве аргументов функции в Go? Любые ресурсы для этого тоже были бы замечательны! Что-то вроде этого: func my_func(a, b int) (int) …

4
Как я могу эффективно загрузить большой файл с помощью Go?
Есть ли способ загрузить большой файл с помощью Go, который сохранит содержимое непосредственно в файл, вместо того, чтобы хранить его все в памяти перед записью в файл? Поскольку файл такой большой, его сохранение в памяти перед записью в файл приведет к израсходованию всей памяти.
106 go 

2
Поля интерфейса Go
Я знаком с тем фактом, что в Go интерфейсы определяют функциональность, а не данные. Вы помещаете набор методов в интерфейс, но не можете указать какие-либо поля, которые потребуются для чего-либо, что реализует этот интерфейс. Например: // Interface type Giver interface { Give() int64 } // One implementation type FiveGiver struct …
106 struct  interface  go 

9
Как сделать однострочный оператор if else?
Могу ли я написать простой оператор if-else с присвоением переменных в go (golang), как если бы я делал это в php? Например: $var = ( $a > $b )? $a: $b; В настоящее время мне нужно использовать следующее: var c int if a > b { c = a } …

5
SSL не включен на сервере
Пытаемся связаться с базой данных postgres с помощью go, подготовив такой оператор: var stmt *sql.Stmt var err error stmt, err = db.Prepare(selectStatement) if err != nil { fmt.Printf("db.Prepare error: %v\n",err) return err } Выдает следующую ошибку: db.Prepare error: pq: SSL is not enabled on the server Любое решение? Если нужно, …
106 go 

4
Принудительное повторное тестирование или отключение кеширования тестов
Проблема: Когда я запускаю один и тот же тест дважды, второй запуск вообще не выполняется. Результаты - кэшированные с первого запуска. PASS ok tester/apitests (cached) Ссылки Я уже проверял https://golang.org/cmd/go/#hdr-Testing_flags, но для этой цели нет флага cli. Вопрос: Есть ли возможность принудительно запустить тест, чтобы всегда запускать тест и не …
106 testing  go 

3
Перенаправить конвейер stdout дочернего процесса в Go
Я пишу программу на Go, которая выполняет серверную программу (также Go). Теперь я хочу иметь стандартный вывод дочерней программы в окне терминала, в котором я запустил родительскую программу. Один из способов сделать это - использовать cmd.Output()функцию, но она выводит стандартный вывод только после выхода из процесса. (Это проблема, потому что …

10
Использование разветвленного импорта пакетов в Go
Предположим, у вас есть репозиторий, на github.com/someone/repoкоторый вы сделали форк github.com/you/repo. Вы хотите использовать свою вилку вместо основного репо, поэтому вы делаете go get github.com/you/repo Теперь все пути импорта в этом репо будут «сломаны», то есть если в репозитории есть несколько пакетов, которые ссылаются друг на друга через абсолютные URL-адреса, …
105 go 

4
Вычитание времени Продолжительность из времени в Go
У меня есть time.Timeзначение, полученное из, time.Now()и я хочу получить другое время, ровно 1 месяц назад. Я знаю, что вычитание возможно с помощью time.Sub()(который хочет другого time.Time), но это приведет к a, time.Durationа мне нужно наоборот.
105 go 

5
Преобразование времени в строку
Я пытаюсь добавить некоторые значения из моей базы данных []stringв Go. Некоторые из них - отметки времени. Я получаю сообщение об ошибке: нельзя использовать U.Created_date (тип time.Time) как строку типа в элементе массива Могу я конвертировать time.Timeв string? type UsersSession struct { Userid int Timestamp time.Time Created_date time.Time } type …
105 string  time  go 

7
Как выполнить сканирование файловой системы
Мне нужно написать функцию, которая при задании пути к папке сканирует файлы с корнем в этой папке. Затем мне нужно отобразить структуру каталогов в этой папке. Я знаю, как сделать 2 (я собираюсь использовать jstree, чтобы отобразить его в браузере).
104 file  go  directory 

4
нет новых переменных слева от: =
Что тут происходит? package main import "fmt" func main() { myArray :=[...]int{12,14,26} ; fmt.Println(myArray) myArray :=[...]int{11,12,14} //error pointing on this line fmt.Println(myArray) ; } Выдает ошибку, в которой говорится no new variables on left side of := То, что я делал, - это переназначение значений уже объявленной переменной.

5
Как указать зависимость модуля Go в go.mod на последний коммит в репо?
Начиная с v1.11 Go добавлена ​​поддержка модулей. Команды go mod init <package name> go build будет генерировать go.modи go.sumфайлы , которые содержат все версии найдены для зависимостей пакета. Если у модуля нет выпусков, используется последняя фиксация этого модуля. Если у модуля есть выпуски, в качестве зависимости выбирается последний. Однако иногда …
104 git  go  module 


2
Что в Go эквивалентно argv [0]?
Как я могу получить имя моей собственной программы во время выполнения? Что в Go является эквивалентом argv [0] C / C ++? Для меня полезно создать использование с правильным именем. Обновление: добавлен код. package main import ( "flag" "fmt" "os" ) func usage() { fmt.Fprintf(os.Stderr, "usage: myprog [inputfile]\n") flag.PrintDefaults() os.Exit(2) …
103 go 

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