В Dart вы передаете своей функции значения этих переменных, а не сами переменные. Поэтому var1
и var2
в swap()
не изменяют ваши var1
и var2
в main()
.
Вам нужно будет сделать это так:
int var1 = 10; // global scope
int var2 = 20;
void main() {
swap(var1, var2);
print(var1);
print(var2);
}
swap(num1, num2) {
var1 = num2;
var2 = num1;
}
EDIT: Санджай абсолютно прав. По значению передаются только примитивные типы.