go有引址符&和取址符 * PHP就一个引址符 &
$a = 1; $b = &a; $b++; echo $c; # 2
func main() { a := 1 b := &a *b++ fmt.Println(*b); # 2 }
Q: *号现在在这里的优点在哪里?如何于php的单独的&符号做比较呢?
*
&
二者没有可比性,go中的& 只是个语法糖,意为取地址,php则是取别名所以go需要先解引用,修改内容,其b是个指针变量
a := 1 b := &a (*b)++ fmt.Println(*b,a); // 2,2
而php这样你或许易理解
<?php $a = 1; $b = &$a; $b++; echo $a; # 2
1.4m articles
1.4m replys
5 comments
57.0k users