🏁Александр
что в общей функции
.
Получается да
.
И вытягивает данные по колонке
🏁Александр
ну гоувей это будет копипаст как не странно
🏁Александр
только совсем однотипные можно выносить отдельно
🏁Александр
завтра вам понадобиться int в токене и пойдут "интерфейсы"
🏁Александр
GetById(value int) GetByGroup(value string)
🏁Александр
если к ним делать общую функцию - беда
🏁Александр
у вас тип общего значение будет interface и type switch
.
ну в БД похер что слать в принципе, она и интерефейс схавает, если мы получаем данные
🏁Александр
ну такое
🏁Александр
вместо такого: func GetById(value int) *Result { Get("id", value) } func GetByGroup(value string) *Result { Get("group", value) } func Get(field string, value interface{}) *Result { return Select().Where(field, value) } лучше сделать так: func GetById(value int) *Result { return Select().Where(field, value) } func GetByGroup(value string) *Result { return Select().Where(field, value) }
🏁Александр
если колбаса с select слишком большая, то выносим
🏁Александр
func GetById(value int) *Result { return prepare().Where(field, value) } func GetByGroup(value string) *Result { return prepare().Where(field, value) } func prepare() *Query { return Select().Any().AnyFunc() }
🏁Александр
но никак не "переменные" в обертку
.
Понял, спасибо
.
Какой правильный способ обрезать строку?
.
Слайс не катит
alowave#~
🏁Александр
.
Вылетает паника если верхний предел больше длины строки
🏁Александр
а вы проверьте...
Nazar
math.Min не катит?
.
а вы проверьте...
кажется каким то костылем
.
https://play.golang.org/p/A732dMq-5O
пробовал делать через руны, но что то пошло не так
🏁Александр
один не одобрил ага 🙂
🏁Александр
пример можно
.
Вроде строку режет ок
.
И сама строка нормальная на выходе
.
но БД жалуется pq: invalid byte sequence for encoding "UTF8": 0x00
.
Сейчас покажу
.
string([]rune(NewsTitle)[0:25])
🏁Александр
пример на play
🏁Александр
нене
🏁Александр
код в канал не канает 🙂
.
Пример не могу показать
.
БД жалуется же
.
Как мне это на Плей показать
.
Саму строку оно нормально режет
🏁Александр
Postgesql does not supports zero in characters (unlike Oracle). You have to replace such chars with something other (like space). Here is a similar post to this problem: http://stackoverflow.com/questions/1347 … g-utf8-0x0 You could implement in a tMap an "cleaning" step: Use this expression: row1.my_string.replace("\\x00", " ")
Aleksandr
пробовал делать через руны, но что то пошло не так
func substring(s string, offset int64, length int64) string { end := offset + length var start int64 var i int64 for range s { if i == offset { start = i } if i == end { return s[start:i] } i++ } return s[start:] } буквально вчера делал
🏁Александр
я вангую это ваше
.
Интересно, откуда эти нулевые байты появились?
🏁Александр
а вы распечатайте строку то
.
Я вывел ее
🏁Александр
в []byte("строка")
🏁Александр
сразу увидите что там в байтах
.
Сложно понять что там в байтах
.
Точнее, как понять есть ли там нулевой байт
.
208 161 208 186 208 190 209 128 208 190 32 209 131 209 135 208 181 208 177 208 176 33 0 0 0 0 0 0 0 0 0 0 0 0 0
.
Вся строка
.
А стоп
.
Нули в конце, оно?
🏁Александр
оно
🏁Александр
вы строку можете текстом дать?
.
Скоро учеба!
.
Вот
🏁Александр
что там за секрет полишинеля 🙂
.
Не понимаю откуда оно взялось
.
Видимо понял
🏁Александр
Скоро учеба! - [208 161 208 186 208 190 209 128 208 190 32 209 131 209 135 208 181 208 177 208 176 33]
.
До обрезки все ок
.
После обрезки появились эти байты
🏁Александр
давайте функцию обрезки суда
.
Видимо оно заполнило
🏁Александр
что-то вы там накосячили
Aleksandr
это херня а не функция) юзай мою
🏁Александр
тут еще одно
🏁Александр
в фразе "Скоро учеба!" нет 25 символов 🙂
🏁Александр
по хорошему должны были получить slice bounds out of range
.
по хорошему должны были получить slice bounds out of range
Если бы брал слайс от байт, то выдавало бы
.
А тут слайс от рун и пашет
🏁Александр
не важно какой слайс