go new
2024-09-06 04:16:16
go new
尽管没有构造函数,go有一个内置的函数new
,可以用来分配一个类型需要的内存。new(X)
和&X{}
是等效的:
goku := new(Saiyan)
// 等效
goku := &Saiyan{}
用那种方式取决于你,但是你会发现,当需要去初始化结构体字段时,大多数人更喜欢使用后者,因为后者更易读:
goku := new(Saiyan)
goku.name = "goku"
goku.power = 9001
//对比
goku := &Saiyan {
name: "goku",
power: 9000,
}
无论你选择那种方式,如果你选择上面的工厂模式,你可以隐藏一些代码细节,但是需要留意任何内存分配细节。
本文转自:http://codingdict.com/article/22526
最新文章
- [转]ExtJS Grid 分页时保持选中的简单实现方法
- 格式化输出[parts/iomanip]
- QQ发送邮件
- OLE-Excel基本操作
- find和findstr
- 使用apache的ab对页面进行压力测试
- APK安装时的过滤方式:包名白名单、证书认证
- js_初识js_js基本语法和数据类型
- 安卓视频播放器(VideoView)
- net core体系-web应用程序-3项目结构、配置文件详解
- 『TensorFlow』分布式训练_其二_单机多GPU并行&;GPU模式设定
- 你真的会使用Github吗?
- C/C++注册动态对象到Lu系统并进行运算符重载
- 让IE浏览器支持CSS3表现
- WPF 自定义MenuItem样式
- RedisDesktopManager无法连接虚拟机中启动的redis服务问题解决
- 搭建Go调试环境(LiteIDE)
- HttpClient传递Cookie
- [前端随笔][css] 弹性布局
- WebMagic 爬虫框架
热门文章
- 关于Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
- 【软工项目Beta阶段】第11周Scrum会议博客
- windows 下redis在后台运行
- [CSP-S模拟测试72]题解
- Django中get()和fiter()的区别
- context和getApplicationContext()的区别
- stm32 单片机
- 建站手册-职业规划:职业履历(CV)
- (动态改变数据源遇到的问题)sqlserver2012:No Dialect mapping for JDBC type: -9解决方案
- Openstack组建部署 — Environment of Controller Node