@gogolang

Страница 1501 из 1630
Roman
04.10.2018
12:50:40
сегфолты забыл
решаются Rust'овских подходом, но давайте об этом сейчас не будем, особенно здесь

если мы хотим чтобы на Go можно было писать действительно большие open source проекты то нынешний подход скорее недоген и опасен

Ilya
04.10.2018
12:52:55
Че за клава?

Александр
04.10.2018
12:53:14
надо читать гоуфлуд ?

Google
Александр
04.10.2018
12:54:05
у меня была алюминевая эппл, потом я протер ее влажной салфеточкой и она умерла (больше половины кнопок) - сейчас на замена старая

Александр
04.10.2018
13:12:07
мне придется брать apple keyboard 2, за 150$ На других раскладка не эпловская

Евгений
04.10.2018
13:31:10
А что значит вопросительный знак у const?
Может быть константой, а может быть нет :)

/dev/null
04.10.2018
13:42:24
П* привычка

Ilya
04.10.2018
13:50:23
Viktor
04.10.2018
13:50:37
Женская константа
трап константа

Ilya
04.10.2018
13:50:50
трап константа
Тогда было бы ?!

Viktor
04.10.2018
13:51:03
Тогда было бы ?!
А мне нравится

Ilya
04.10.2018
13:51:31
Ну в общем тоже не вижу ничего плохого, если трап симпатичный

Roman
04.10.2018
13:55:30
Может быть константой, а может быть нет :)
не константой а иммутабельным типом. Константы и иммутабельные типы это вещи разные

Sergey
04.10.2018
13:55:31


Google
Николай
04.10.2018
13:55:32
Привет всем) Подскажите можно ли используя dep сделать так, чтобы библиотека не загружалась в директорию vendor, а бралась и ${GOPATH}/src?

Marperia
04.10.2018
13:56:41
Очевидно же: влезть в исходники и написать условие падения.

Daniel
04.10.2018
13:57:04
Это без dep можно сделать

И, по-моему, можно запретить dep класть в вендор конкретную либу

Marperia
04.10.2018
13:57:56
Ну это я троллю. Но смысл тот же: взять используемую там переменную валидности теста и поставить условие на своей стороне.

Roman
04.10.2018
13:58:01
Это без dep можно сделать
он скорее всего имеет ввиду похожий на dep workflow, такого не добиться ибо go get тупой и ничего не знает про версии, придётся ручками клонить репу в src

Sergey
04.10.2018
13:58:15
Очевидно же: влезть в исходники и написать условие падения.
Чекать if'ами результат работы assert? А не какого, то параметра, который сразу вызывает panic :)

Roman
04.10.2018
13:59:30
require.NotEmpty

Sergey
04.10.2018
14:00:05
require.NotEmpty
Грац +1

Sergey
04.10.2018
14:22:10
Коллеги вопрос такой ,есть задача если из канала нет данных в течении N секунд то делать действие читаю канал циклом ну или можно селектом

Вопрос как сделать искал не смог нации решения или примера

Artem
04.10.2018
14:22:58
таймер заводить и слать в канал стоп сообщение

Sergey
04.10.2018
14:23:07
А есть пример

Artem
04.10.2018
14:23:12
ну если нет встроенного механиза

Sergey
04.10.2018
14:23:17
И как отобразиться на производительности

Читал мнение что таймеры грузят

Сильно тикеры

Artem
04.10.2018
14:25:16
https://blog.golang.org/go-concurrency-patterns-timing-out-and

Google
Sergey
04.10.2018
14:27:32
Спасибо

Евгений
04.10.2018
14:27:35
оптимально

Nik
04.10.2018
14:28:14
const Big = 1 « 100 А в го какой-то особенный побитовый сдвиг? Кажется здесь должен получиться 0

Евгений
04.10.2018
14:28:41
это влево - т.е. получится 2^100

Nik
04.10.2018
14:29:49
Roman
04.10.2018
14:46:03
Я же не ошибаюсь когда утверждаю что в []int сам integer изменить никак нельзя?

Roman
04.10.2018
14:49:10
??? var a := []int{1,2,3} a[0] = 5 fmt.Println(a)
это изменить a, не integer

Artem
04.10.2018
14:49:26
а что такое integer?

Иван
04.10.2018
14:50:00
Целое число

Darwin
04.10.2018
14:50:05
я что-то тоже не понял

Artem
04.10.2018
14:50:17
дай линк на спеку

Darwin
04.10.2018
14:50:18
что изменить то нельзя, тип?

Roman
04.10.2018
14:50:29
??? var a := []int{1,2,3} a[0] = 5 fmt.Println(a)
вот пример, когда можно изменить объект внутри слайса: a := []*T{&T{}, &T{}, &T{}} t := a[0] t.Mutate() t.Field = "newval"

а integer это же у нас примитива, её невозможно изменить, её можно только перезаписать другим значением

Roman
04.10.2018
14:51:53
а в чем разница?
в том что ты мутируешь, слайс или объект внутри слайса

Artem
04.10.2018
14:51:56
ничего нельзя изменить, можно только перезаписать

Roman
04.10.2018
14:52:48
вот пример, когда можно изменить объект внутри слайса: a := []*T{&T{}, &T{}, &T{}} t := a[0] t.Mutate() t.Field = "newval"
@vetcher в примере выше мы не перезаписали значение в слайсе, там по прежнему тот-же указатель, но данные под указателем мы мутировали

Google
Roman
04.10.2018
14:53:39
слайс остался тем-же, а вот объект под ним - мутировал, с примитивами такое, AFAIK, невозможно

Artem
04.10.2018
14:54:08
@vetcher в примере выше мы не перезаписали значение в слайсе, там по прежнему тот-же указатель, но данные под указателем мы мутировали
скажи, когда для тебя перезаписывание превращается в мутацию? потому что в машине ток единички и нолики, которые ты можешь или перезаписать или прочитать

но я думаю изначальный ответ на твой вопрос - нет

Nik
04.10.2018
14:56:09
const BigNumber = 1 << 100 // 1 with one hundred zeros var BigNumberAsFloat float32 = BigNumber fmt.Println(BigNumberAsFloat) // 1.2676506e+30

а это что за дичь получается?

вначале готура

Admin
ERROR: S client not available

Nik
04.10.2018
14:56:09
пример

https://go-tour-ru-ru.appspot.com/basics/16

и немного не понял. Можно объявлять сколь угодно большие константы, даже если не существует типа который их вместит? Какой тогда тип у этой константы?

ну т.е. допустим что выражение 1 « 100 возвращает некое число, которое в целых числах является единицей со ста нулями 1) Почему это выражение нельзя сохранить, но можно вычислить, даже если нет никакого типа куда его можно было бы сохранить? И какой тип у него? Попытка узнать printf("%T") провалилась 2) Почему это можно сохранить в флоат? 3) Как при приведению к флоату получается это число?) Я туплю канешн, но непонятно как-то

Paul
04.10.2018
14:58:28
Roman
04.10.2018
15:00:08
скажи, когда для тебя перезаписывание превращается в мутацию? потому что в машине ток единички и нолики, которые ты можешь или перезаписать или прочитать
указатель может не измениться, а данные под ним могут измениться = mutation. В данном случае мутированная память идентифицируется адресом. перезапись значения переменной = mutation. В данном случае память идентификацируется именем в stack'е (что в конце концов тоже адрес, I know, но с точки зрения написания это именованный stack entity).

Zver
04.10.2018
15:00:58
а это что за дичь получается?
Потому что константа приводится к конкретному (на этапе компиляции) типу когда присваивается переменной. Она до этого момента без всякого типа.

Roman
04.10.2018
15:03:18
Artem
04.10.2018
15:03:53
ааа, вот о чем ты

Zver
04.10.2018
15:04:44
Все обычно.

Google
Zver
04.10.2018
15:05:11
Но с мапой такое не работет.

John
04.10.2018
15:05:49
О сколько нам открытий чудных ... :))

Но с мапой такое не работет.
но да, с мапой такой финт работать не будет

Roman
04.10.2018
15:06:23
А что тут такого?
а то что const [] int это, в таком случае, опасно и нужно выписать const [] const int func main() { a := []int{1, 2, 3} fmt.Println("before: ", a) i := &a[0] // i will become a: "* const int" *i = 4 // Compile-time error, cannot assign to immutable type fmt.Println("after: ", a) // Should be: [1, 2, 3] }

Roman
04.10.2018
15:08:28
коллега, это безумие
увы, transitive immutability это тоже не вариант

Daniel
04.10.2018
15:08:33
const []int должно означать, что ты не можешь изменить ни слайс, ни значения в нем

Roman
04.10.2018
15:08:54
И будет 150 const.
no, why? не нужна иммутабельность - не пользуйтесь ?

const []int должно означать, что ты не можешь изменить ни слайс, ни значения в нем
а const [] [] *T тогда означает что мы не сможем мутировать T в иммутабельной матрице. Это недостаточно выразительно, поскольку изначально у нас в уме было const [] const [] const *T ДА, я знаю что это doхуа verbose, но если мы пойдём путём сквозной иммутабельности то в сложных ситуациях люди буду просто избегать иммутабельные типы поскольку они не позволят им выразить свои намерения. Они преврять немутабельную матрицу в мутабельную и это делает вообще всё концепцию иммут типов абсолютно бесполезной, читайте тут

@onokonem уж лучше тогда иммут по умолчанию в Go 2.x, потому-что mut во-первых короче ? а во-вторых намного реже будет встречается чем const читайте здесь

Nik
04.10.2018
15:16:31
1 << 100 это битовый сдвиг, а не число со ста нулями :D
затупил. Эквивалентно умножению на 2 в степении 100 же

Страница 1501 из 1630