Roman
в любом случае стандартные generic функции Go должны по сути работать с любыми типами, в том числе и потенциально иммутабельными
Nikita
Например отправка в канал заменяется на такую функцию
Nikita
Илья
а как же это работает без кодогенерации то?! это-ж типичная generic функция
разбор и построение на лету через ast, насколько я помню, как то @onokonem меня тыкнул в сторону make, но я опять все потерял
Roman
unsafe.Pointer значит..
Roman
понятно
Nikita
unsafe.Pointer значит..
да, внутри там все на таких костылях сделано
Илья
вообще, с immutable, скорее сюда лезть надо https://github.com/golang/go/blob/ef5037398385ff52b17af325a0ad82017bd65820/src/go/types/operand.go
Илья
разбор стейтмента append, вроде как тут https://github.com/golang/go/blob/ef5037398385ff52b17af325a0ad82017bd65820/src/go/types/builtins.go#L77
Roman
вообще, с immutable, скорее сюда лезть надо https://github.com/golang/go/blob/ef5037398385ff52b17af325a0ad82017bd65820/src/go/types/operand.go
лезть в недры мне не охота, за это никто не платит)) пускай это делает Go team мне главное поверхностно понимать как оно устроено)
Roman
ну вы вот фантазируете по поводу memory protection, а как язык устроен, не знаете
я не фантазирую, я предлагаю конкретику. Мне не нужно знать как он устроен, я работаю с его абстрактной спецификацией и как user даю свой feedback с поля боя. Мне никто за это не платит)
Roman
танкисту не нужно понимать, как устроен двигатель его танка внутри, это отвлечёт его от боя с врагом, но он знает с какими проблемами он столкнулся в бою в которых виноват двигатель 🙂
Roman
https://golang.org/pkg/strings/#Join вот это типичный кандидат на исправление func Join(a const []string, sep string) string Join не должен иметь право писать в a, тут нужна гарантия иммутабельности, ибо следующий код не будет иначе компилироваться: func MyFunc(a const []string) { // This won't compile, // because Join takes a mutable slice, // but we can't cast immut -> mut concat := strings.Join(a, ",") } нам придётся отказываться от гарантии иммутабельности нашей a если мы хотим использовать golang.org/pkg/strings#Join насчёт обратной совместимости: всё будет в порядке, старый код продолжит работать после изменения strings.Join ибо mut -> immut кастится implicitly
Subbotin
народ а поясните за модули
Subbotin
допустим у меня есть проект example.com/ololo/trololo который лежит у меня на винте в директории /tmp/trololo
Subbotin
у него есть go.mod в корне
Subbotin
теперь я допустим хочу сделать подмодуль example.com/ololo/trololo/config
Subbotin
как мне это сделать?
Aleksandr
вложенную директорию создать и все
Subbotin
а. действительто
Subbotin
только goland не подхватывает
🏁Александр
эм
Aleksandr
только goland не подхватывает
вруби поддержку vgo в настрйоках проекта
Subbotin
о. спасибо
$continue$
всем, привет. как в submatch regex проверить существует ли массив с index = 1?
Daniel
вопрос не ясен
Daniel
где регекспы, а где массивы
$continue$
результат от re.submatchstring
$continue$
на рабоет минискрипт пишу. а уже дома)
$continue$
m := r.FindStringSubmatch(input_string)
$continue$
вот. у меня паника при обращении к m[1]
Daniel
len(m)
Darwin
cap(m)
Daniel
cap - эт про другое
$continue$
len(m)
но оно проверит на index только
$continue$
т.е в len же нужно указать len(m[0])
Daniel
а?!
Daniel
коллега, а вы gotour прошли?
$continue$
меня компилятор обматерил за len(m)
$continue$
либо я что-то не так сделал
Daniel
что-то не так сделали
Co(n)stantine👨‍🔬
@continue98 пройдите пожалуйста https://tour.golang.org/welcome/1
Igor
коллеги подскажите как из базы из поля []float мне получить []float64 ?
Igor
.Scan ругается "sql: Scan error on column index 2: unsupported Scan, storing driver.Value type []uint8 into type *[]float64\"
Илья
судя по ошибке, у вас не []float
Daniel
1. а как у вас []float в базе хранится? и в какой? 2. конверсия слайсов разных типов - только созданием нового и копированием
Igor
судя по ошибке, у вас не []float
но если в структуре []float64 и в базе []float...
Илья
https://stackoverflow.com/questions/31946344/why-does-go-treat-a-postgresql-numeric-decimal-columns-as-uint8
Daniel
1. Тип float[] в postgresql 2. Не понятно - пакет sql сам не распознаёт типы?
пакет sql - универсальный, а массив в ячейку можно положить только в постгресе
Daniel
или пользоваться специализированным пакетом (pg) для доступа к базе
Subbotin
то есть мне брать ячейку как строку и парсить?..
Есть специальные либы для постгреса
Igor
спасибо, понял
Marperia
Кстати о базах данных. Есть у кого опыт использования или своё мнение насчёт https://github.com/mailru/dbr? Ссылка на доклад или статью тоже не помешает, если они были
Marperia
Равно как и gocraft/dbr
Artem
но если в структуре []float64 и в базе []float...
Ещё там вообще сказано, что тип может быть одним из списка, в который float не входит (а float64 да). Мб поможет
Igor
угу
Sergey
Никто случаем не знает, будет ли трансляция сие мероприятия https://corp.mail.ru/ru/press/events/515/ ? :)
Aleksandr
@alek_si
Alexey
Я без понятия
Sergey
Спасибо :)
Artem
а че уже все, закрыли регистрацию?
Brommie
может кто шарит, или есть уже проект такой - хочу статический сайт впихнуть в переменные го, и отдавать их)
Daniel
файлики вкомпилять в бинарник?
Brommie
ага
Brommie
+ веб сервер
Brommie
а это что? я дилетант)
Daniel
я вот этот пользую
Daniel
https://github.com/UnnoTed/fileb0x
Brommie
спасибо, буду изучать)
Brommie
мне по факту нужны все роуты для статики + 1 роут на который будет идти пост запрос. https://github.com/GeertJohan/go.rice здесь вроде как есть серв статики всей, но вот хз будет ли кастомный роут работать