@gogolang

Страница 1168 из 1630
Pawel
20.06.2018
16:44:24
Мапы слайсы каналы
в них пойнтеры а не ссылки. Ссылки - в джаве, C#-пе и (плохие) в С++

Алексей
20.06.2018
16:45:10
в них пойнтеры а не ссылки. Ссылки - в джаве, C#-пе и (плохие) в С++
можно ли указатели называть указателями, если у них нет арифметики указателей?

Kirill
20.06.2018
16:45:24
она есть

но очень плохая

Google
Daniel
20.06.2018
16:45:45
она есть
опять ты учишь детей плохому

Kirill
20.06.2018
16:46:12
опять ты учишь детей плохому
это вообще очень страшный мир

Алексей
20.06.2018
16:46:42
она есть
так без unsafe же её вроде нет

Dmitry
20.06.2018
16:47:05
в них пойнтеры а не ссылки. Ссылки - в джаве, C#-пе и (плохие) в С++
ссылка разве не подобна ненулевому указателю ?

Alan
20.06.2018
16:47:07
Пусть так, чем на улице!

Kirill
20.06.2018
16:47:08
вот меня несколько раз не взяли на работу сеньером гофером, в основном из-за того, что интервьюер думал, что знает в гошке всё

Dmitry
20.06.2018
16:47:39
окей. вопросов больше не имею

Алексей
20.06.2018
16:47:58
вообще ссылки в Java и указатели в Go имеют же почти одинаковое поведение

Kirill
20.06.2018
16:48:03
и несли херню из серии "defer дешевый, а ты вообще не знаешь, как работают слайсы, мапы, каналы и так далее. а еще каналы вообще без семафоров в гошке"

Kirill
20.06.2018
16:48:27
интервьюер с завышенным чсв
это несколько раз происходило

Google
Dmitry
20.06.2018
16:48:35
https://golang.org/doc/faq#references

Kirill
20.06.2018
16:49:07
в какой-то момент мне стало лень сраться с интервьюерами, тыкая в сорцы гошки

Pawel
20.06.2018
16:49:50
вообще ссылки в Java и указатели в Go имеют же почти одинаковое поведение
разница в том, что в голанге можно работать с объектом через указатели или со значением на стеке. А в джаве - только с объектом по ссылке. И это большой плюс голанга

Kirill
20.06.2018
16:49:53
но почему-то как только интервьюер - человек, который хоть раз читал сорцы гошки - споров нет от слова совсем %)

Kirill
20.06.2018
16:51:00
надо было с левой по печени ебануть
это удаленка, а если не удаленка - за такое всё равно не хотелось бы ехать обратно в Украину

Pawel
20.06.2018
16:51:13
проблема

Kirill
20.06.2018
16:51:20
¯\_(ツ)_/¯

Alexander
20.06.2018
16:51:44
коллега, а напишите спеку? (ну, чтобы понимать, что это привет как сложно - хорошая обработка ошибок)
Оператор ?. Ставить после вызова функции, у которой последнее возвращаемое значение типа error. По сути оператор заменяет if err != nil { return err }.

Kirill
20.06.2018
16:52:24
но - это моё мнение

Alexander
20.06.2018
16:53:33
Kirill
20.06.2018
16:54:10
Kirill
20.06.2018
16:55:26
и что делает этот оператор?
мешает читать код, к сожалению

Dmitry
20.06.2018
16:55:35
пробрасывает ошибку на уровень выше, очевидно?

Алексей
20.06.2018
16:56:04
мешает читать код, к сожалению
а постоянные if err != nil { return nil, err } не мешают?

Daniel
20.06.2018
16:56:18
что значит - пробрасывает? у нас что, по всему стеку идентичный набор возвращаемых значений?

Alexander
20.06.2018
16:56:27
и что делает этот оператор?
Написано же. Если значение ошибки не пустое, то возвращает его из функции. Хотя тут конечно проблема в том, что возвращать в качестве оставшихся возвращаемых значений.

Google
Kirill
20.06.2018
16:56:45
что значит - пробрасывает? у нас что, по всему стеку идентичный набор возвращаемых значений?
пробрасывает возвращенную ошибку в последний error в возврате текущей функции

Daniel
20.06.2018
16:57:04
а остальные?

Kirill
20.06.2018
16:57:18
забивает нулевыми значениями

Lesha
20.06.2018
16:57:19
а если функция возвращает несколько значений? то что при операторе "?" пробрасывать наверх?

Kirill
20.06.2018
16:57:45
это при условии, что не именованный возврат

если именованный - то значение, заданное перед возвратом

Lesha
20.06.2018
16:59:09
а при именованном не нужно разве error сначала в переменную записать?

Kirill
20.06.2018
16:59:32
это оператор с автодетектом

если хотите знать моё мнение после исследования на тему -

Daniel
20.06.2018
17:00:12
я к тому, что код вокруг этого всего будет не проще, чем if err != nil. но if err != nil хотя бы хорошо отделен от всего остального и полностью очевиден

Lesha
20.06.2018
17:00:38
Вот тут жирное обсуждение есть https://github.com/golang/go/issues/21161

Alexander
20.06.2018
17:01:35
магия уже какая-то
Будто в го её мало, одни слайсы чего только стоят

Jack
20.06.2018
17:01:49
привет

вот у меня тоже магия, может кто сможет помочь)

Google
Daniel
20.06.2018
17:02:02
Lesha
20.06.2018
17:02:13
Kirill
20.06.2018
17:02:14
Будто в го её мало, одни слайсы чего только стоят
не путай магию и дефолтную структуру данных

Pawel
20.06.2018
17:02:57
я к тому, что код вокруг этого всего будет не проще, чем if err != nil. но if err != nil хотя бы хорошо отделен от всего остального и полностью очевиден
вот именно. И не всегда в блоке if будет одна единственная инструкция return. Это вообще редко, может в 20% случаев

Алексей
20.06.2018
17:03:44
не путай магию и дефолтную структуру данных
а что в дефолтных структурах данных магии быть не может?

Admin
ERROR: S client not available

Kirill
20.06.2018
17:04:31
а что в дефолтных структурах данных магии быть не может?
здесь - дефолтная структура данных без магии

Jack
20.06.2018
17:04:53
https://pastebin.com/WBTXeuR0 есть файлик 86мб, прогоняю его в поисках мыл, в итоге остаются числовые данные



такого плана

сразу скажу - нуб в го)

Kirill
20.06.2018
17:06:12
в выходном файле что?

что не так?

Jack
20.06.2018
17:06:41
то же самое и в выходном

файлы как 2 капли)

Alexander
20.06.2018
17:07:03
не путай магию и дефолтную структуру данных
Ну ок, это не магия, но их поведение можно было и более простым и понятным сделать.

Google
Daniel
20.06.2018
17:07:12
а?!

Daniel
20.06.2018
17:07:18
где сложности?

Kirill
20.06.2018
17:07:22
ЧТО там не понятно?!

файлы как 2 капли)
не знаю твой уровень, так что на всякий случай - ты _точно_ не забыл сделать go build после последней правки?

Jack
20.06.2018
17:08:16
я делаю go run

у меня чувство есть, что в том файле что-то не так с переносами строк..

и сканер подхватывает

Alexander
20.06.2018
17:09:14
ЧТО там не понятно?!
Непонятно как контролировать доступ к случае и его мутации

Sergey
20.06.2018
17:09:41
и сканер подхватывает
ну проверь количество итераций

Jack
20.06.2018
17:09:54
хм, спс)

Алексей
20.06.2018
17:10:05
слайсы может и хороши с точки зрения производительности, но безопасность не очень и можно отстрелить себе ногу

Lesha
20.06.2018
17:10:26
Kirill
20.06.2018
17:10:42
у меня чувство есть, что в том файле что-то не так с переносами строк..
я бы порекомендовал перепроверить, что там за переносы, возможно стоит конвертнуть их перед сканом

Jack
20.06.2018
17:12:38
разница в 256733 строк)

3600335−3857068

Kirill
20.06.2018
17:13:38
О_о

Alexander
20.06.2018
17:13:43
конкретнее
Конкретнее - если ты куда-то хочешь передать слайс (от слайса) то предварительно лучше прочитать код, которому ты передаешь слайс.

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