Vladislav
ребят, как прочитать последние N элементов из файла в slice
что ты вообще делал на Objc, если такие базовые вопросы задаешь ?
Segmentation
А есть как-нибудь договоренность о том, как описывать список типов ошибок, которые может вернуть метод?
Илья
в комментариях к методу
Илья
при записи в уже не пустой файл может неправильно читать?
Vladislav
в сорцах коммент перед Seek()
Segmentation
в комментариях к методу
В свободной форме?
Sergey
так размер структуры узнаем... unsafe.Sizeof(struct)
Илья
так размер структуры узнаем... unsafe.Sizeof(struct)
а зачем свою бд писать если есть .csv ?
Vladislav
так размер структуры узнаем... unsafe.Sizeof(struct)
int64 и float64 = 16 байт но вообще да, лисапед
Sergey
а зачем свою бд писать если есть .csv ?
ну … у меня на SQL было сделано
Sergey
но я не смог собрать под малину
Vladislav
вот и пиши в sqlite например
Илья
В свободной форме?
https://tip.golang.org/doc/comment думаю что в любой, но кроме названия ошибки нужно писать пакет, чтобы через go doc можно было переходить
Илья
Sergey
CGO_ENABLED=1 вот это проблема при сборке была
Sergey
из за sqlite3
Илья
а гошка использует сишную либу для sqlite?
Sergey
да
Илья
и почему не собралось?
Илья
возможно ты собрал без статической линковки, а на малине не было либы
Sergey
GOARCH=arm64 GOOS=linux CGO_ENABLED=1 go build # runtime/cgo cgo: C compiler "aarch64-linux-gnu-gcc" not found: exec: "aarch64-linux-gnu-gcc": executable file not found in $PATH
Sergey
я собираю на маке
Илья
 CGO_ENABLED=1 go build -ldflags '-s -w -extldflags "-static"'
Sergey
gox попробовал, оно собирает без этого флага
Sergey
попробуй
вообще ничего не произошло… )
Sergey
ни билда ни ошибок
Илья
всм
Sergey
а попробовать поставить этот aarch64-linux-gnu-gcc?
вот я подумал, чем так страдать, проще избавиться от си
Vladislav
страдают ващщето на окошках
Sergey
.cvs это что?
Sergey
я уже почти доделал чтение из файла… мне кажется это быстрее будет
Vladislav
google://csv 😒
Sergey
размер структуры я так могу получить: const infoSize = unsafe.Sizeof(Item{})
Sergey
все верно?
Vladislav
.csv*
точно, порядок мне сразу не понравился
Anonymous
А почему sizeof это unsafe?
Sergey
Vladislav
от начала?
Vladislav
и да, константой это быть не может
Илья
мне кажется будет проще разобраться с sqlite
Sergey
мне кажется будет проще разобраться с sqlite
неужели читать несколько структур из файла так сложно
Sergey
я просто не могу понять почему примеров нет
Sergey
вроде просто должно быть
Sergey
запись то пашет
Segmentation
я просто не могу понять почему примеров нет
Потому что - это идеология такая
Илья
неужели читать несколько структур из файла так сложно
просто ты пытаешься напрямую работать с файлом
Sergey
Sergey
просто ты пытаешься напрямую работать с файлом
я сюда и прошел, спросить как надо
Илья
даже в бд (mysql/postgres) в in-memory есть часть базы
Sergey
потому как сам уже несколько часов потратил на поиск решения
Sergey
на github примеров нет
Sergey
stackoverflow весь перечитал
Илья
даже в бд (mysql/postgres) в in-memory есть часть базы
как по мне лучше правильно сбилдить с sqlite чем писать слои и придумывать свои форматы хранения
Vladislav
тебе откуда нужно прочесть, с начала или с конца?
Sergey
даже в бд (mysql/postgres) в in-memory есть часть базы
мнев память нужно прочитать раз в 10 часов примерно
Илья
 CGO_ENABLED=1 go build -ldflags '-s -w -extldflags "-static"'
поэтому пробуй еще раз, только не забудь GOARCH
Sergey
поэтому пробуй еще раз, только не забудь GOARCH
GOARCH=arm64 GOOS=linux CGO_ENABLED=1 go build -ldflags '-s -w -extldflags "-static"' zsh: command not found: go build -ldflags -s -w -extldflags "-static"
Sergey
lier
ну все что касалось моей проблемы точно
Vladislav
последние N записанных
SEEK_SET int = 0 // seek relative to the origin of the file SEEK_CUR int = 1 // seek relative to the current offset SEEK_END int = 2 // seek relative to the end
Sergey
CC_FOR_TARGET=arm-linux-gnueabihf-gcc CGO_ENABLED=1 GOOS=linux GOARCH=arm GOARM=5 go build # runtime/cgo cgo: C compiler "aarch64-linux-gnu-gcc" not found: exec: "aarch64-linux-gnu-gcc": executable file not found in $PATH
Sergey
окей после четния seek я получаю (ret int64, err error)
Sergey
почему не байтовый массив?
Sergey
или seek перемещает указатель, а читаем через read?