170 похожих чатов

А статьи от ArdanLabs тут ещё не советовали? Внутрянку некоторую

неплохо раскрывают

4 ответов

25 просмотров

Про Data Semantics очень полезная статья у Билла Кеннеди, хотя есть ощущение, что это исключительно его терминология, нигде больше не читал про нее особо)

Timur Sharapov
Про Data Semantics очень полезная статья у Билла К...

Value semantics. Передача по значению. Нет, это общий термин, просто он один его так со всех сторон рассматривает

Alexey Palazhchenko
Value semantics. Передача по значению. Нет, это об...

Имел в виду "On Data And Semantics". Без союза прозвучало странно, да :) Я, кстати, хотел бы воспользоваться моментом и кое-что спросить. If all the methods of a named type T have a receiver type of T itself (not *T ), it is safe to copy instances of that type; calling any of its methods necessarily makes a copy. For example, time.Duration values are liberally copied, including as arguments to functions. But if any method has a pointer receiver, you should avoid copying instances of T because doing so may violate internal invariants. For example, copying an instance of bytes.Buffer would cause the original and the copy to alias ( §2.3.2 ) the same underlying array of bytes. Subsequent method calls would have unpredictable effects. Это отрывок из The Go Programming Language. Как бы все понятно: если есть методы с pointer receiver, то их вызов может внутренние инварианты испортить. Но условие "если все методы с value receiver, то безопасно копировать T" вызывает вопросы. Даже если все ресиверы имеют тип T, если в структуре, например, slice или map, мы в любом случае имеем указатель на backing array, и неожиданные изменения возможны. Может, я просто не так понимаю параграф

Timur Sharapov
Имел в виду "On Data And Semantics". Без союза про...

Всё так. И я задавал этот вопрос Биллу после какой-то конфы, и он признавал проблему 🙂

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта