Golang的一个小Tip
有一道面试题是这样的,你可能也遇到过:
交换a, b两个变量,且不引入第三个变量。
通常我们会用两次异或计算来实现。
例如PHP实现如下:1
2
3
4
5$a = 1;
$b = 2;
$a = $a^$b;
$b = $b^$a;
$a = $a^$b;
而Golang的实现是这样的:1
2
3a := 1
b := 2
a,b = b,a
交换变量值的代码就一行,简单吧。因为golang支持在一个语句中对多个变量赋值。
有一道面试题是这样的,你可能也遇到过:
交换a, b两个变量,且不引入第三个变量。
通常我们会用两次异或计算来实现。
例如PHP实现如下:1
2
3
4
5$a = 1;
$b = 2;
$a = $a^$b;
$b = $b^$a;
$a = $a^$b;
而Golang的实现是这样的:1
2
3a := 1
b := 2
a,b = b,a
交换变量值的代码就一行,简单吧。因为golang支持在一个语句中对多个变量赋值。