
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
у меня была алюминевая эппл, потом я протер ее влажной салфеточкой и она умерла (больше половины кнопок) - сейчас на замена старая

Maksim
04.10.2018
13:11:05

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

Евгений
04.10.2018
13:31:10

/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
Очевидно же: влезть в исходники и написать условие падения.

Roman
04.10.2018
13:56:42

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

Roman
04.10.2018
13:59:30
require.NotEmpty

Sergey
04.10.2018
14:00:05

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

Vadim
04.10.2018
14:22:56

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

Евгений
04.10.2018
14:27:13

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 изменить никак нельзя?

Artem
04.10.2018
14:48:46

Roman
04.10.2018
14:49:10

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
а integer это же у нас примитива, её невозможно изменить, её можно только перезаписать другим значением

Artem
04.10.2018
14:51:32

Roman
04.10.2018
14:51:53

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

Roman
04.10.2018
14:52:48

Google

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

Artem
04.10.2018
14:54:08
но я думаю изначальный ответ на твой вопрос - нет

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) Как при приведению к флоату получается это число?)
Я туплю канешн, но непонятно как-то

Roman
04.10.2018
14:57:03

Paul
04.10.2018
14:58:28

Roman
04.10.2018
15:00:08

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

John
04.10.2018
15:02:35

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]
}

John
04.10.2018
15:07:13
а то что 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]
}
Я что-то упуcтил, а причем тут вообще const ?

Roman
04.10.2018
15:07:36

Daniel
04.10.2018
15:07:50
а то что 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]
}
коллега, это безумие

Zver
04.10.2018
15:08:07

Roman
04.10.2018
15:08:28

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

Roman
04.10.2018
15:08:54
const []int должно означать, что ты не можешь изменить ни слайс, ни значения в нем
а const [] [] *T тогда означает что мы не сможем мутировать T в иммутабельной матрице. Это недостаточно выразительно, поскольку изначально у нас в уме было const [] const [] const *T
ДА, я знаю что это doхуа verbose, но если мы пойдём путём сквозной иммутабельности то в сложных ситуациях люди буду просто избегать иммутабельные типы поскольку они не позволят им выразить свои намерения. Они преврять немутабельную матрицу в мутабельную и это делает вообще всё концепцию иммут типов абсолютно бесполезной, читайте тут
@onokonem уж лучше тогда иммут по умолчанию в Go 2.x, потому-что mut во-первых короче ? а во-вторых намного реже будет встречается чем const
читайте здесь


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

John
04.10.2018
15:15:51
нафиг-нафиг

Nik
04.10.2018
15:16:31