1
maggch97 20 天前
var + & 你看来很正常,但是十多年前写 C/C++的人应该会非常不习惯这么写
|
![]() |
3
wuhunyu 20 天前
只能 new(T)了吧,还有其它用法吗
|
4
strobber16 20 天前
不是最初场景,但是我写泛型的时候会用到
·func IsZero[T comparable](a T) bool { return a == *new(T) } · |
5
FrankAdler 20 天前 via Android
var 出来的指针型是 nil ,mew 的是零值
这种问题随便找个 ai 问下就行了:go 的 new 关键字 有什么不可替代的场景 |
6
Miranquil 20 天前 ![]() @FrankAdler 确切的说是 new 出来的是一个指向目标类型零值的指针。
|
![]() |
7
wangritian 20 天前
@FrankAdler 楼主提到的&就是为了覆盖你说的场景
|
8
lovelylain 20 天前 via Android
new(T)场景也能被 var+&代替,只是能省一行代码。
|
![]() |
10
gigishy 20 天前 via iPhone
作为明示内存分配且并不赋值是个很不错的好习惯,一目了然。
|
11
kevinxzhao 20 天前
好像没有什么是必须这样写的。
|
12
dobelee 20 天前
new 我经常用,用来强调变量是零值。不重要的变量才用&,比如 resp 。
var 很少用,除非强调数据类型,比如 bool 。 |