В Google Go я читал, что строки неизменяемы, нормально, но это int? Как насчет других типов? Как немного более старый программист, я предпочитаю изменчивость, хотя я знаю преимущества неизменности, я предпочитаю жить опасно.
Знайте, какие типы являются изменяемыми или неизменяемыми, будут очень полезны.
Обновление, в чем меня больше всего беспокоят, - это практические проблемы в зависимости от того, какой тип является изменяемым или неизменным. Как и в типичном примере Java, если вы создаете String в цикле и цикле в 10 000 раз, вы получите 10000 строк, которые затем будут собраны в мусор. Это действительно было серьезной проблемой в проекте в компании, в которой я работал.
Возникает вопрос: неустойчивость Go в некоторых случаях вызывает ту же проблему?
Это влияет на то, как вы должны лечить var. (или я предполагаю, что это так).
Обновление снова, меня также беспокоят другие практические проблемы. Знание того, что что-то является неизменным, означает, что я могу писать код, который является параллельным, и обновление одной ссылки объекта не должно обновлять другие ссылки. Однако иногда я хочу делать опасные вещи, я хочу изменчивость.
Это последствия изменчивости против неизменности и влияют на то, как я могу написать код.