栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

new()和“常规”分配之间有区别吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

new()和“常规”分配之间有区别吗?

不,他们返回的是一样的,

package mainimport "fmt"import "reflect"type Vector struct {    x   int    y   int}func main() {    v := &Vector{}    x := new(Vector)    fmt.Println(reflect.TypeOf(v))    fmt.Println(reflect.TypeOf(x))}

结果:

*main.Vector*main.Vector

邮件列表上有一些争论,两者都令人困惑:

https://groups.google.com/forum/?fromgroups=#!topic/golang-
nuts/GDXFDJgKKSs

需要注意的一件事:

new()是获取指向未命名整数或其他基本类型的指针的唯一方法。您可以编写“ p:= new(int)”,但不能编写“ p:=&int
{0}”。除此之外,这是一个优先事项。

来源:https : //groups.google.com/d/msg/golang-
nuts/793ZF_yeqbk/-zyUAPT-e4IJ



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/471154.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号