В Google Go я читал, что строки неизменяемы, но это целые числа? А как насчет других типов? Как программист чуть старше меня, я предпочитаю изменчивость, хотя я знаю о преимуществах неизменности, я предпочитаю жить опасно.
Было бы очень полезно знать, какие типы являются изменяемыми или неизменяемыми.
Обновление, что меня больше всего беспокоит, так это практические вопросы, зависящие от того, является ли тип изменяемым или неизменным. Как и в типичном примере на Java, если вы создадите String в цикле и в цикле 10 000 раз, вы получите 10 000 String, которые затем будут собраны в мусор. На самом деле это было серьезной проблемой в проекте в компании, в которой я работал.
Возникает вопрос, вызывает ли в некоторых случаях неизменяемость Go ту же проблему?
Это влияет на то, как вы должны обращаться с вар. (или я предполагаю, что это так).
Обновите еще раз, меня также беспокоят другие практические проблемы. Знание того, что что-то является неизменным, означает, что я могу писать код, который является параллельным, и обновления одной ссылки объекта не должны обновлять другие ссылки. Однако иногда я хочу делать опасные вещи, мне нужна изменчивость.
Это последствия изменчивости и неизменности, которые влияют на то, как я могу писать код.
[]byte
, будьте осторожны, так как полноразмерный символ utf-8 (он же руна) имеет переменную длину. - person ypb   schedule 05.11.2011