Daniel
поинтеры тут ни при чем
.
Код покажите
Sebor▂▅▇█▓▒░
Daniel
да ладно
L
Гайз, а никто не сталкивался с такой ошибкой?
# runtime/cgo
In file included from cgo-gcc-prolog:22:
In file included from /usr/local/include/string.h:6:
/usr/local/include/string/string.h:7:10: fatal error: 'sstream' file not found
Это я делаю go test на mac os x. Чего доставтиь нужно? Раньше не было такой ошибки
Anonymous
такое впечателние, что у тебя с++ код собирается сишным компилятором
L
Sergey
а xcode стоит?
Sergey
у меня куча проблем было на маке пока не сделал xcode-select --install
L
> xcode-select: error: command line tools are already installed, use "Software Update" to install updates
L
наверное накатить обновления нужно, попробую спасибо
Roman
Roman
Stepan
Не подскажите можно ли сделать что-то типа интерфейса для структур с общими полями?
Илья
Вынести поля в структуру, встроить ее во все нужные структуры
Stepan
Archi
Всем привет. Есть вопрос. В чем разница между вот этими двумя вариантами создания: a := []string AND a:=[]string{} ?
Anonymous
Alexey
Archi
func main() {
var a []string
c := []string([]string{})
b := make([]string, 0)
fmt.Printf("a: %v %v cap %d len %d \nb: %v %v cap %d len %d \nc: %v %v cap %d len %d \n %v", a, reflect.TypeOf(a), cap(a), len(a), b, reflect.TypeOf(b), cap(b), len(b), c, reflect.TypeOf(c), cap(c), len(c), reflect.DeepEqual(b, c))
}
Archi
b и с cjdgflf.n а а им не равна. Хотя и длина и тип и содержание и емкость одинаковые..
Roman
стоит ли запрещать мутабельные function receiver'ы?
func (receiver *Type) Method() {
// Mutating the receiver value doesn't make much sense
receiver = nil
}
Archi
Anonymous
Artem
Archi
Artem
Roman
ну и как ты будешь что-то складывать в него?
func (receiver *Type) Method() {
receiver.Field = "newvalue" // fine
receiver.AnotherMethod() // fine
receiver = nil // not fine!
receiver = &T{} // even worse!
}
Roman
https://goplay.space/#qCOMKZCKm5c
https://goplay.space/#SjhDxU-q6UK
мутирование receiver'а бессмысленная свобода ни к чему хорошему не приводящая
Pawel
Господа кто умеет в SQL. Как мне заюзать в запросе значение столбца d?:
CREATE TABLE tab(
a,b,c
);
SELECT
a, (b-c) AS d,
(a - d) AS e -- ошибка: unable to resolve column 'd'
FROM tab;
Evgeniy
CREATE TABLE tab(
a,b,c
);
SELECT
a, (b-c) AS d,
(a - select(d)) AS e
FROM tab;
попробуй так?
Tigran
Tigran
SELECT a, d, (a-d) AS e FROM (SELECT a, (b-c) AS d FROM tab)
Pawel
Pawel
Evgeniy
странно, у меня похожее на my sql работает
Eugenii
не то что бы упростить, но скорее причесать, если база умеет with
with t1(d) as (select ...)
select ... from t1
Eugenii
ну или view сделать
Evgeniy
Aleksandr
Pavel
там все сложно, где-то да, где-то нет
просто слайс это структура у которой под капотом указатель, когда объявляем переменную через var указатель принимает дефолтное значение для указателя т.е nil
в случае с make в указателе будет не nil, а адрес на массив
upd: фигурные скобки тоже позволяют проинициализировать слайс
Sergey
приятный ямл
а в жсоне комментарии нельзя
Sergio
Спека ямла больше и сложнее чем XML. Ревьювить конфиги ямла на гитхабе - это вообще песня
Nikita
Artem
вот где бы почитать про это поподробнее
чисто формально, он инитит все со значением по-умолчанию, но иногда этим можно сразу пользоваться (например int), а иногда нет (например map). все значения по-умолчанию написаны в спеке/эффектив го
Nikita
Pawel
(((
Eugenii
Dmitriy / დიმიტრი
А кто-нибудь использует vgo и IDEA вместе?
Я так и не понял как там все настроить что бы была индексация кода и все собиралось нормально. Стартовый проект вообще нерабочий
Dmitriy / დიმიტრი
И вообще. Стоит ли сейчас заморачиваться с vgo или программа еще сырая?
.
Пока что нет смысла
Artem
конечно есть смысл, что б наделать для них issue, что б они не выпускали это в релиз
Roman
type T struct {}
func (t *T) M1() {}
func (t const * T) M2() {}
func (t * const T) M3() {}
func (t const * const T) M4() {}
—
// mutable pointer to mutable T
t1 := &T{}
// immutable pointer to mutable T
t2 := const * T(&T{})
// mutable pointer to immutable T
t3 := * const T(&T{})
// immutable pointer to immutable T
t4 := const * const T(&T{})
—
t1.M1(): legal ✓
t2.M1(): should this be legal?
t3.M1(): illegal (T is immutable) ✓
t4.M1(): illegal (T is immutable) ✓
t1.M2(): should this be legal?
t2.M2(): legal ✓
t3.M2(): illegal (T is immutable) ✓
t4.M2(): illegal (T is immutable) ✓
t1.M3(): illegal (T is immutable) ✓
t2.M3(): illegal (T is immutable) ✓
t3.M3(): legal ✓
t4.M3(): should this be legal?
t1.M4(): illegal (T is immutable) ✓
t2.M4(): illegal (T is immutable) ✓
t3.M4(): should this be legal?
t4.M4(): legal ✓
...
Messer
Привет. Подскажите если на один chan подписано несколько рутин то сообщение обработает первый или оно дойдет всем?
Andrei 🦉
Andrei 🦉
chan - это классическая очередь
Messer
А есть какие-то возможности запроцессить его как topic?
Artem
он тоже так себе решение, но каждый раз дежать у себя альтернативу node_modules меня не прельщает
Zver
Messer
У меня нет конечного числа и я не могу каждой рутине передать отдельный chan и отдельно их процессить
Artem
Zver
Artem
когда приходит сообщение, итерируешься по всем в слайсе
а еще погугли, на инглише, 100% есть какая-то либка
Daniel
Artem
почему?
наверное его отдает внешняя либа
Daniel
кого - его?
Artem
канал, который он хочет броадкастить