Roman
в любом случае стандартные generic функции Go должны по сути работать с любыми типами, в том числе и потенциально иммутабельными
Nikita
Nikita
Например отправка в канал заменяется на такую функцию
Nikita
Roman
unsafe.Pointer значит..
Roman
понятно
Илья
вообще, с 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
Илья
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
Lex
Subbotin
народ а поясните за модули
Subbotin
допустим у меня есть проект example.com/ololo/trololo который лежит у меня на винте в директории /tmp/trololo
Subbotin
у него есть go.mod в корне
Subbotin
теперь я допустим хочу сделать подмодуль example.com/ololo/trololo/config
Subbotin
как мне это сделать?
Aleksandr
вложенную директорию создать и все
Subbotin
а. действительто
Subbotin
только goland не подхватывает
🏁Александр
эм
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
Илья
https://stackoverflow.com/questions/31946344/why-does-go-treat-a-postgresql-numeric-decimal-columns-as-uint8
Igor
Daniel
или пользоваться специализированным пакетом (pg) для доступа к базе
Subbotin
Igor
спасибо, понял
Marperia
Кстати о базах данных. Есть у кого опыт использования или своё мнение насчёт https://github.com/mailru/dbr?
Ссылка на доклад или статью тоже не помешает, если они были
Marperia
Равно как и gocraft/dbr
Igor
Artem
Igor
угу
Sergey
Никто случаем не знает, будет ли трансляция сие мероприятия https://corp.mail.ru/ru/press/events/515/ ? :)
Aleksandr
@alek_si
Alexey
Я без понятия
Sergey
Спасибо :)
Artem
а че уже все, закрыли регистрацию?
Brommie
может кто шарит, или есть уже проект такой - хочу статический сайт впихнуть в переменные го, и отдавать их)
Daniel
файлики вкомпилять в бинарник?
Brommie
ага
Brommie
+ веб сервер
Daniel
Brommie
а это что? я дилетант)
Daniel
я вот этот пользую
Daniel
https://github.com/UnnoTed/fileb0x
Kirill
Sergey
Brommie
спасибо, буду изучать)
Brommie
мне по факту нужны все роуты для статики + 1 роут на который будет идти пост запрос.
https://github.com/GeertJohan/go.rice здесь вроде как есть серв статики всей, но вот хз будет ли кастомный роут работать