
Алексей
15.10.2018
20:21:11
поделитесь опытом

Roman
15.10.2018
20:21:33

Алексей
15.10.2018
20:22:47

Subbotin
15.10.2018
20:23:55
а у меня вопрос не совсем про го. куда счас модно складывать условно аватарки юзеров (ну мелкие бинарные блобы) и раздавать потом их по ключу всем желающим. ну там с репликацией и прочим.

Google

Andrey
15.10.2018
20:26:11

anatolii
15.10.2018
20:28:16
Обьясните мне где я туплю https://play.golang.org/p/XmMK0wuIsi4 Почему q не меняется?

Tishka17
15.10.2018
20:34:22

Kirill
15.10.2018
20:35:03

anatolii
15.10.2018
20:35:29
Вроде ж ссылку передаю
В который раз уже натыкаюсь на работу с указателями и вечно что-то не так

Kirill
15.10.2018
20:36:19
ты передаёшь в interface{}

Artem
15.10.2018
20:36:32

anatolii
15.10.2018
20:36:49
ну типа передаю по ссылке, значит изменение внутри должно по ссылке и снаружи поменяться

Kirill
15.10.2018
20:36:53

anatolii
15.10.2018
20:36:55
Да

Google

Kirill
15.10.2018
20:37:04
не данные же

anatolii
15.10.2018
20:37:19
Во всех бд библиотеках тоже какой нибудь Find(data interface{})
.All(&product)

Tishka17
15.10.2018
20:41:01

anatolii
15.10.2018
20:41:51
получается я делаю ссылку на данные, и передаю копию ссылки в функцию?

Tishka17
15.10.2018
20:41:57
Полагаю надо что-то типа **interface{} в методе ожидать и менять *q все же. Но хз можно ли так в го
Как будто на си не писал никогда

anatolii
15.10.2018
20:42:14
Выше скрин реального кода и он работает
На си увы
Я из высших чинов, мы говнокодеры

Tishka17
15.10.2018
20:42:58
Думаешь он не содержимое result меняет?
Вообще хз. Я го первый день изучаю :)))

anatolii
15.10.2018
20:43:15
А
Кстати резонное замечание
Да, там внутри рефлексия он данные через нее забивает
:)

Алексей
15.10.2018
20:46:57

Нави
15.10.2018
20:49:02
Да
компилю из линукса для виндовса, запускаю там и вылетает искллючение panic("failed to connect database")
скопировал файл базы, тоже самое вылетает. Что то в виндовсе надо поставить непойму?

Google

Artem
15.10.2018
20:50:00
(метод)

Алексей
15.10.2018
20:50:29
В нем ходить напрямую в базу не правильно

Artem
15.10.2018
20:50:46
Репозитория, в который ходит сервис

Алексей
15.10.2018
20:51:20
Так у меня это не DAO, а сервис.

anatolii
15.10.2018
20:52:21

Илья
15.10.2018
20:52:29

Нави
15.10.2018
20:56:31
SQLite, кросскомпилю в линукс е под виндовс, в виндовсе ничего не ставлю, запускаю экзешник и все, это первый раз, когда экзешник заругался.
подключение такое:
// подключение БД
db, err := gorm.Open("sqlite3", "base.db")
if err != nil {
panic("failed to connect database")
}
defer db.Close()
db.AutoMigrate(&Dbval{})
в линуксе все естесственно работает
может в виндовсе что то настроить надо? в интернете ничего не найду по этому поводу

Michael
15.10.2018
21:02:26

anatolii
15.10.2018
21:02:57
Благодарю, оно

Илья
15.10.2018
21:05:55
Потом проверить что там с файлом
А дальше гугл должен помочь

anatolii
15.10.2018
21:07:47
Даже если екзешник лежит далеко, бд должна быть в текущей папке

Google

Нави
15.10.2018
21:13:41
Binary waas compiled with 'CGO_ENABLED=0', go-sqlite requires go to work.

Илья
15.10.2018
21:24:31
Ну вот, и что говорит гугл по запросу golang sqlite windows

Нави
15.10.2018
21:25:48
env CGO_ENABLED=1 дополнительно прописал, но теперь компилятор ругается:
# runtime/cgo
gcc: error: unrecognized command line option ‘-mthreads’; did you mean ‘-pthread’?

Илья
15.10.2018
21:26:13
Вы погуглите все же

Pawel
15.10.2018
21:38:06

Нави
15.10.2018
21:40:15
вместо panic("failed to connect database") напиши panic(err), а?
уже наполовину:
Binary waas compiled with 'CGO_ENABLED=0', go-sqlite requires go to work.
env CGO_ENABLED=1 дополнительно прописал, но теперь компилятор ругается:
# runtime/cgo
gcc: error: unrecognized command line option ‘-mthreads’; did you mean ‘-pthread’?

Marlik
15.10.2018
21:40:58
Может log.Printf("%v", err)

Нави
15.10.2018
21:46:55
затык в том, куда прописать -pthread

Marlik
15.10.2018
21:47:05

Pawel
15.10.2018
21:48:13
линуха и винда одинаковой разрядности?

Marlik
15.10.2018
21:48:25
GOGCCFLAGS

Нави
15.10.2018
21:49:19
GOGCCFLAGS
CGO_ENABLED=1 GOOS=windows GOARCH=386 go build
это в команду как то запихнуть надо?

Shub
15.10.2018
21:49:54

Нави
15.10.2018
22:33:07
нда... прописую GOGCCFLAGS - не прописывается
GOGCCFLAGS="-pthreads" CGO_ENABLED=1 GOOS=windows GOARCH=amd64 go build

anatolii
15.10.2018
22:58:41
Подскажите, если я запускаю вебсервер, и не указываю GOMAXPROCS, оно по умолчанию имеет значение какое?

Александр
15.10.2018
22:59:52
кажись 1

Ilya
15.10.2018
23:00:25
Колво логических ядер

anatolii
15.10.2018
23:02:18
тоесть autoи лучше ее не менять?

Ilya
15.10.2018
23:05:02
Зависит. Если не разбираешься, то лучше пока не трогать. Но рано или поздно придется...
Скажем, врядли тебе нужны 80 тредов на сервере с 80 логическими ядрами. Хотя всякое бывает.

Google

Kirill
15.10.2018
23:06:36

Roman
15.10.2018
23:08:52

Ilya
15.10.2018
23:09:43

Илья
15.10.2018
23:10:52

Нави
15.10.2018
23:13:43

Илья
15.10.2018
23:15:00
Настоящий хакер

Владимир
15.10.2018
23:15:41
он же duckduckGO ?

Denis
16.10.2018
00:51:53
Добрый день, подскажите пожалуйста кто работал с пакетом exec.
Я пытаюсь используя exec.Cmd запустить процесс сборки другого go-файла
Я пробрасываю набор параметров для сборки и несколько аргументов для линковщика:
func TestFoo(t *testing.T) {
cmd := exec.Command("go", "build", "-i", "-ldflags", `"-X main.Version=1.0.0"`, "-o", `./foo.out`, "main.go")
t.Log(cmd.Args)
if err := cmd.Run(); err != nil {
t.Fatal(err)
}
}
Все аргументы принимаются, кроме аргументов для линковщика (ldflags).
Если запустить ту же комманду, но из оболочки - то все работает как ожидалось.
go build -i -ldflags "-X main.Version=1.0.0" -o ./foo.out main.go


Dmitriy
16.10.2018
00:56:18
Добрый день, подскажите пожалуйста кто работал с пакетом exec.
Я пытаюсь используя exec.Cmd запустить процесс сборки другого go-файла
Я пробрасываю набор параметров для сборки и несколько аргументов для линковщика:
func TestFoo(t *testing.T) {
cmd := exec.Command("go", "build", "-i", "-ldflags", `"-X main.Version=1.0.0"`, "-o", `./foo.out`, "main.go")
t.Log(cmd.Args)
if err := cmd.Run(); err != nil {
t.Fatal(err)
}
}
Все аргументы принимаются, кроме аргументов для линковщика (ldflags).
Если запустить ту же комманду, но из оболочки - то все работает как ожидалось.
go build -i -ldflags "-X main.Version=1.0.0" -o ./foo.out main.go
Лишние ковычки

Denis
16.10.2018
00:56:37
в ldflags они необходимы
Пример взял отсюда - https://stackoverflow.com/questions/11354518/golang-application-auto-build-versioning

Dmitriy
16.10.2018
00:59:51
Они необходимо когда ты в терминале сам прописываешь, в случае вызова из go так не надо, т.к. каждый аргумент уже разделен

Denis
16.10.2018
01:00:25

SkyCoffee
16.10.2018
05:34:35
Можно мне в личку англоязычных чатов по Go?

Александр
16.10.2018
06:35:41
доброе утро ?
мне вот интересно, dao все таки кормиться оберткой над бд или непосредсредственно бд.
c одного стороны именно должно брать реализацию драйвера, c другой стороны мокать такое не ах