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()到底是什么意思?相关推荐

  1. golang中http协议实现

    golang中http协议实现 写了一个爬虫,发现出现了socket泄露的情况.百度了一下发现是缺少了Response.Body.Close(),所以导致连接 没有被正常的关闭.也没有被gc回收.下面 ...

  2. Golang 中 Slice的分析与使用(含源码)

    文章目录 1.slice结构体 2.slice初始化 3.append操作 4.slice截取 5.slice深拷贝 6.值传递还是引用传递 参考文献 众所周知,在golang中,slice(切片)是 ...

  3. Golang中Buffer高效拼接字符串以及自定义线程安全Buffer

    本文原创文章,转载注明出处,博客地址 https://segmentfault.com/u/to... 第一时间看后续精彩文章.觉得好的话,顺手分享到朋友圈吧,感谢支持. Go中可以使用"+ ...

  4. 如何在golang中关闭bufio.reader_Golang 并发模型系列:1. 轻松入门流水线模型

    Go语言中文网,致力于每日分享编码.开源等知识,欢迎关注我,会有意想不到的收获! Golang作为一个实用主义的编程语言,非常注重性能,在语言特性上天然支持并发,它有多种并发模型,通过流水线模型系列文 ...

  5. java boolean几个字节_Java中boolean类型到底占用多少个字节?

    1.时间:2017-07-03 07:37:06YuanMxy 2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节? 3.问题解答: (1)什么是b ...

  6. go语言的iota是什么意思_关于Golang中的iota

    快速一览 iota是Golang中提供的一个简化常量和枚举编程的标识符,合理的使用这个标识符可以让代码变得更简洁,省去大量的不必要的代码. 比如下面的这个常量定义 const ( a = 1 b = ...

  7. Golang中的panic和recover(捕获异常)

    Golang中的panic和recover(捕获异常) 参考文章: (1)Golang中的panic和recover(捕获异常) (2)https://www.cnblogs.com/zhzhlong ...

  8. golang 中string和int类型相互转换

    总结了golang中字符串和各种int类型之间的相互转换方式: string转成int: test_int, err := strconv.Atoi(test_string) if err != ni ...

  9. 企业网络推广中用户行为到底能为企业网络推广带来多少影响?

    众所周知,企业网络推广随着互联网技术发展行业之间竞争压力也越大,企业网站为了更好的迎合用户和搜索引擎的喜好,不断调整网站发展定位以满足用户真实需求,只为获得搜索引擎的侧目和青睐.殊不知在搜索引擎当中用 ...

最新文章

  1. WINCE基于CH7024实现TV OUT (VGA)功能
  2. SpringBoot笔记:SpringBoot2.3集成Kafka组件配置
  3. wxWidgets:wxStyledTextCtrl类用法
  4. iPhone放大模式详解
  5. ueditor单图上传iframe跨域_UEditor单图上传(simpleupload)跨域问题解决方案
  6. CI框架开发的问答系统v3.7源码ask2在线问答解惑系统+手机版
  7. leetcode5086:smallest-subsequence-of-distinct-characters
  8. 【代码模板】不存在的NOIP2016
  9. css常用选择器选择器
  10. 数据库系统及应用——班级管理系统
  11. vue项目引入iconfont图标
  12. 盘点3大智能家居系统|苹果HomeKit、亚马逊Alexa、谷歌Home?
  13. python搭建邮件服务器_手把手教你使用Python轻松搞定发邮件
  14. 961. 重复 N 次的元素
  15. ASR6500S低功耗LoRa+射频前端LPWAN应用芯片
  16. 【属性基加密】Ubuntu下CP-ABE库安装及调用教程详解
  17. 求子网掩码的有效地址
  18. 动态汉化Windows技术的分析 (转)
  19. dl4j深度学习教程
  20. vue+element ui+腾讯云开发打造会员管理系统之实战教程(三)系统登录

热门文章

  1. TensorFlow分布式全套(原理,部署,实例)
  2. 【精品计划1】动态规划入门到熟悉,看不懂来打我啊
  3. 使用GreenPlum/postgres的copy命令导出/导入数据
  4. 女士手机一夜跑流量50GB原因是什么
  5. flutter 序列化 jsonEncode jsonDecode
  6. 使用Delve调试Go应用程序
  7. foxmail 6.5 beta3 某些邮件不能直接回复的问题
  8. 释放你的C盘 别让win7 C盘空间越来越小
  9. 用python3写一段代码提取pdf和ofd格式发票内容并json格式化输出
  10. 4.发那科工业机器人IO概述