В C побочные эффекты используются для эффективного возврата нескольких значений.
В Go возврат нескольких значений встроен в спецификацию функций:
func f(a int) (int, int) {
if a > 0 {
return a, 1
}
return 0,0
}
Возвращая несколько значений,В результате вызова функции вы можете влиять на все, что угодно, вне функции.