
Anton
12.10.2017
22:16:15
напомните пожалуйста, строки ведь по значению в функцию передаются (в отличие от слайсов)? Почему тогда почти во всех стандартных пакетах в интерфейсах string а не *string - это же кругом лишние копирования получается.

Daniel
12.10.2017
22:20:43
Строка - это указатель на массив байт

Anton
12.10.2017
22:20:45
нашел ответ: "Immutability means that it is safe for two copies of a string to share the same underlying memory, making it cheap to copy strings of any length." т. е. строки передаются в функцию так же как и слайсы, с копированием структуры с указателем на данные, но без копирования данных.

Vladimir
12.10.2017
22:58:34

Google

Vladimir
12.10.2017
23:00:02
По идее []byte(string) должен быть бесплатным, пока ты не начнешь его мутировать

Anton
12.10.2017
23:00:37
copy on write?

Vladimir
12.10.2017
23:00:49
Вроде того

Alexander
13.10.2017
03:01:29
А более кошерно делать не []byte(string) , а []rune(string) даже. Накладные расходы на это мизерные, в строке же не "Война и мир" в четырех томах, обычно

Vladimir
13.10.2017
03:38:32

Alexey
13.10.2017
04:25:20

asterisk
13.10.2017
04:40:06

ros
13.10.2017
05:05:07
/report
ещё у одного банка надо отбирать лицензию
а наиля этого в бан

Vladimir
13.10.2017
05:11:17

Robert
13.10.2017
05:21:44
Коллеги вопрос. Делаем приложение на go. Кровавый энтерпрайз. В документации руковдоство администратора, необходимо описать все коды ошибок. То есть по сути все наши var (ErrChegoToTamFailed = errors.New("ERR-001: Содержат код и описание") ). Можно дискутировать делать ли отдельный тип для собственных ошибок, вопрос не в этом.
Если мы эти ошибки как и положено в начале каждого файла/пакета объявим
как бы это все лихо выгрузить в документацию? Выцепить эти встрочки? какие есть идеи? какой нить линуксовой command line тулзой?
Наиль, это называется беру огонь на себя ?

Google

Alexey
13.10.2017
05:23:48

Andrew
13.10.2017
05:28:59

Robert
13.10.2017
05:34:34
руководство администратора по ГОСТ
комментировать код мы комментируем, ибо старые и трюки у нас старые
и нужно быстро взять и их всех файлов скопипастить в Word документ.
godoc предлагали конеш. Не прокатило )

Artem
13.10.2017
05:48:56
Грепнуть по маске с флагами -rl и > err_descr
Не получится?

Robert
13.10.2017
05:52:35
попробую. спс

Vladimir
13.10.2017
06:02:54

Robert
13.10.2017
06:03:53
? Inception

Vladimir
13.10.2017
06:06:03
? Inception
задача внутренняя програмерская вы сами то верите в парсер на GO? А GoDoc работает с ВЕРНОЙ стилистикой ...чтоб получать вразумительные результаты!

Maxim
13.10.2017
07:04:36
А расскажите, уважаемые, новичкам - вот если мне надо скажем считать файл построчно в массив, то как это принято делать?
У меня есть тяжкое предчувствие, что как в Си. Скажите, что это не правда.

Ilya
13.10.2017
07:06:24
ioutil.ReadFile вроде бы возвращает массив байт
Но можно и как в C

Maxim
13.10.2017
07:06:59
Да мне бы как у людей...
Ну там, чтобы какая-нибудь коллекция строк вернулась что-ли...

Ilnar
13.10.2017
07:07:17

Ilya
13.10.2017
07:07:37

Google

Ilya
13.10.2017
07:08:25
Хотя нет, что-то другое, но тоже есть

Maxim
13.10.2017
07:11:10
Наверно меня больше интересует вопрос создания массива строк неизвестной заранее длины.
или к слайсу-таки можно аппендить сколько влезет?
Получается, что слайс взятый от аррея и сделаный через мейк - это разные по сути слайсы?

Daniel
13.10.2017
07:14:22
Одинаковые

Maxim
13.10.2017
07:14:51
как тогда append() сработает на слайсе от аррея?
у него длина фиксированная

Daniel
13.10.2017
07:15:29
Любой слайс - от массива

Maxim
13.10.2017
07:15:57
ага, и как тогда туда добавляется неизвестное количество элементов?
то есть я читаю
The capacity of the slice is the number of elements in the underlying array starting from the index from which the slice is created.

Daniel
13.10.2017
07:17:04
Что возвращает append помните?

Maxim
13.10.2017
07:17:16
еще нет, только дочитал :)
в смысле аппенд не изменяет исходный массив?

Daniel
13.10.2017
07:17:30
Ну вот дочитайте

Vladimir
13.10.2017
07:17:42

Daniel
13.10.2017
07:17:42
Там прям написано

Maxim
13.10.2017
07:19:14
прочитал
Меняет
ты тоже прочитай, так как исходный массив не меняется

Евгений
13.10.2017
07:20:27

Google

Vladimir
13.10.2017
07:20:58

Daniel
13.10.2017
07:21:30

Maxim
13.10.2017
07:21:44
вы уж определитесь :)

Евгений
13.10.2017
07:21:47

Maxim
13.10.2017
07:22:57
сорри гайз, что я троллю местами,

Admin
ERROR: S client not available

Maxim
13.10.2017
07:23:07
просто без этого фиг кто ответит :)
правильно я понимаю, что со слайсами большая засада, если где-то брать адреса у элементов массивов?

Евгений
13.10.2017
07:25:30
?

Maxim
13.10.2017
07:25:51
ну то есть &a[0] может оказаться разный, скажем, при append'е в цикле
причем, в общем случае, это поводение плохо предсказуемо

Евгений
13.10.2017
07:26:12
а зачем с ними так работать?

Maxim
13.10.2017
07:26:57
ну мало ли
о! да тут еще оказывается и мемори лик можно схлопотать, если вовремя nil не присвоить ...
https://github.com/golang/go/wiki/SliceTricks
я просто раньше думал, что Go это такой более правильный Питон
а оказывается это новый Си

Alexander
13.10.2017
07:29:42
Привет всем. Подскажите плиз по поводу cgo (google молчит). Есть сторонняя динамическая библиотека blabla.so и хедер blabla.h. Вопрос: как мне использовать методы этой либы в go? Уже и с флагами #cgo игрался и местоположением либы в системе, ничего не помогает. При билде пишет что не может найти методы из этой либы (например C.BlaBlaMethod() )

Maxim
13.10.2017
07:29:54
Извините, вынужден прервать беседу до вечера...

Alexander
13.10.2017
07:30:59
Или го не цепляет динамические либы?

Alexey
13.10.2017
07:41:01

Google

Александр
13.10.2017
07:41:42

Artem
13.10.2017
07:47:12
люди из node.js пришли в чужой огород со своими тяпками https://github.com/mattn/anko

Alexander
13.10.2017
07:47:25
Плюс у нее последний коммит 3-х летней давности.

Александр
13.10.2017
07:50:09

Pawel
13.10.2017
07:54:46

Artem
13.10.2017
07:55:44
по стилю кода в примерах человек явно из js мира, самый распространенный вариант использованеия js на сервере - nodejs

Alexander
13.10.2017
08:05:13
Под виндой вроде как может помочь вот это дело https://github.com/dlfcn-win32/dlfcn-win32

?
13.10.2017
08:06:23

Александр
13.10.2017
08:06:43

Kirill
13.10.2017
08:11:22
Может кто подскажет по работе в гогланде(ide от jetbrains для го)
Как одним нажатием добавлять загаловок для комментария? Т.е.
// Client <- вот эту штуку с именем ниже
type Client interface {
authorizeUser(user user.User) (uint64, error)
}Может даже плагин какой-то нужен?

Vladimir
13.10.2017
08:12:56

Евгений
13.10.2017
08:49:57

Vladimir
13.10.2017
08:51:17