golang中的new()到底是什么意思?
1.var xxx type 会直接申请内存会有内存地址 可直接使用 默认都是零值2.var xxx *type 只是存在当前变量内存地址,且是指针类型变量,但是此时没有指向的内存地址 需要通过new才能申请内存地址给该变量去指向,new之前调用会导致空指针错误
测试代码片段
func main(){type huiStruct struct {name stringage int64}println("==========huiP==============")var huiP *huiStruct //如果申明的是指针变量 那么指针变量指针地址是有的,但是指针变量指向的地址是空的,必须new才能为该指针变量申请指向的内存空间println("初始化前变量指针地址", &huiP) //0xc000095e78println("初始化前变量指针指向", *&huiP) //0x0 //这里未分配内存空间也没有地址 所以new之前使用一定会报错空指针if empty.IsEmpty(huiP) {println("指针-初始化前是空的") //空的} else {println("指针-初始化前不是空的")}huiP = new(huiStruct)println("初始化后变量指针地址", &huiP) //0xc000095e78println("初始化后变量指针指向", *&huiP) //0xc000095ec8if empty.IsEmpty(huiP) {println("指针-初始化后是空的")} else {println("指针-初始化后不是空的") //不是空的}}
输出结果
初始化前变量指针地址 0xc000115ec0
初始化前变量指针指向 0x0
指针-初始化前是空的
初始化后变量指针地址 0xc000115ec0
初始化后变量指针指向 0xc000004078
指针-初始化后不是空的
golang中的new()到底是什么意思?相关推荐
- golang中http协议实现
golang中http协议实现 写了一个爬虫,发现出现了socket泄露的情况.百度了一下发现是缺少了Response.Body.Close(),所以导致连接 没有被正常的关闭.也没有被gc回收.下面 ...
- Golang 中 Slice的分析与使用(含源码)
文章目录 1.slice结构体 2.slice初始化 3.append操作 4.slice截取 5.slice深拷贝 6.值传递还是引用传递 参考文献 众所周知,在golang中,slice(切片)是 ...
- Golang中Buffer高效拼接字符串以及自定义线程安全Buffer
本文原创文章,转载注明出处,博客地址 https://segmentfault.com/u/to... 第一时间看后续精彩文章.觉得好的话,顺手分享到朋友圈吧,感谢支持. Go中可以使用"+ ...
- 如何在golang中关闭bufio.reader_Golang 并发模型系列:1. 轻松入门流水线模型
Go语言中文网,致力于每日分享编码.开源等知识,欢迎关注我,会有意想不到的收获! Golang作为一个实用主义的编程语言,非常注重性能,在语言特性上天然支持并发,它有多种并发模型,通过流水线模型系列文 ...
- java boolean几个字节_Java中boolean类型到底占用多少个字节?
1.时间:2017-07-03 07:37:06YuanMxy 2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节? 3.问题解答: (1)什么是b ...
- go语言的iota是什么意思_关于Golang中的iota
快速一览 iota是Golang中提供的一个简化常量和枚举编程的标识符,合理的使用这个标识符可以让代码变得更简洁,省去大量的不必要的代码. 比如下面的这个常量定义 const ( a = 1 b = ...
- Golang中的panic和recover(捕获异常)
Golang中的panic和recover(捕获异常) 参考文章: (1)Golang中的panic和recover(捕获异常) (2)https://www.cnblogs.com/zhzhlong ...
- golang 中string和int类型相互转换
总结了golang中字符串和各种int类型之间的相互转换方式: string转成int: test_int, err := strconv.Atoi(test_string) if err != ni ...
- 企业网络推广中用户行为到底能为企业网络推广带来多少影响?
众所周知,企业网络推广随着互联网技术发展行业之间竞争压力也越大,企业网站为了更好的迎合用户和搜索引擎的喜好,不断调整网站发展定位以满足用户真实需求,只为获得搜索引擎的侧目和青睐.殊不知在搜索引擎当中用 ...
最新文章
- WINCE基于CH7024实现TV OUT (VGA)功能
- SpringBoot笔记:SpringBoot2.3集成Kafka组件配置
- wxWidgets:wxStyledTextCtrl类用法
- iPhone放大模式详解
- ueditor单图上传iframe跨域_UEditor单图上传(simpleupload)跨域问题解决方案
- CI框架开发的问答系统v3.7源码ask2在线问答解惑系统+手机版
- leetcode5086:smallest-subsequence-of-distinct-characters
- 【代码模板】不存在的NOIP2016
- css常用选择器选择器
- 数据库系统及应用——班级管理系统
- vue项目引入iconfont图标
- 盘点3大智能家居系统|苹果HomeKit、亚马逊Alexa、谷歌Home?
- python搭建邮件服务器_手把手教你使用Python轻松搞定发邮件
- 961. 重复 N 次的元素
- ASR6500S低功耗LoRa+射频前端LPWAN应用芯片
- 【属性基加密】Ubuntu下CP-ABE库安装及调用教程详解
- 求子网掩码的有效地址
- 动态汉化Windows技术的分析 (转)
- dl4j深度学习教程
- vue+element ui+腾讯云开发打造会员管理系统之实战教程(三)系统登录