看如下代码

package mainimport ("fmt""unsafe"
)func main() {//make和new函数//new函数用法//a := 10//默认值 int rune byte float bool string这些类型都有默认值//指针,切片,map,接口这些默认值是nil类型var a inta = 10fmt.Println(a)//var p *int //声明一个变量,但是变量没有初始值,所以这样是不行的,只有一个占位符,而没有实际分配内存//*p = 10//对于指针来说,或者其他默认是nil的情况来说,如何一开始就分配内存var p *int = new(int) //go的编译器就知道先申请一个内存空间,这里的内存空间的值全部设置为0*p = 20fmt.Println(*p)//除了new函数可以申请内存以外,还有一个函数是make函数,更加常用的是make,make函数一般用于切片,mapvar info map[string]string = make(map[string]string)info["c"] = "wwj"fmt.Println(info)//new函数返回的是这个值的地址,指针make函数返回的是自定类型的实例//nil的一些细节//和python的none不完全相等var info2 map[string]stringif info2 == nil {fmt.Println("map的默认值是nil")}var slice []stringif slice == nil {fmt.Println("slice的默认值是nil")}var err errorif err == nil {fmt.Println("error是nil")}//python中的NONE和go语言的nil类型是不一样的,NONE是全局唯一的//go语言中nil是唯一可以用来表示部分类型的零值标识符,他可以代表许多不同内存布局的值fmt.Println(unsafe.Sizeof(slice))fmt.Println(unsafe.Sizeof(info2))
}

go中make和new的用法,以及nil用法相关推荐

  1. Python中的map()函数和reduce()函数的用法

    Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下  

  2. python open 打开是什么类型的文件-详解Python中open()函数指定文件打开方式的用法...

    文件打开方式 当我们用open()函数去打开文件的时候,有好几种打开的模式. 'r'->只读 'w'->只写,文件已存在则清空,不存在则创建. 'a'->追加,写到文件末尾 'b'- ...

  3. 关于C++中函数指针的使用(包含对typedef用法的讨论)

    关于C++中函数指针的使用(包含对typedef用法的讨论) (一)简单的函数指针的应用. //形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(in ...

  4. PHP中的常见魔术方法功能作用及用法实例

    这篇文章主要介绍了PHP中的常见魔术方法功能作用及用法实例,本文讲解了构造函数和析构函数__construct()和__desctruct()以及属性重载(Property Overloading)_ ...

  5. SQL Server中drop、truncate和delete语句的用法

    SQL Server中drop.truncate和delete语句的用法 drop  删除表和表中的所有数据(不保留表的结构) drop table tablename truncate   删除表中 ...

  6. Div+CSS布局入门教程(五) 页面制作-用好border和clear 附加:1.DIV+CSS设计原则 2.DIV+CSS中标签ul ol li dl dt dd用法

    这一节里面,主要就是想告诉大家如何使用好border和clear这两个属性. 首先,如果你曾用过table制作网页,你就应该知道,如果要在表格中绘制一条虚线该如何做,那需要制作一个很小的图片来填充,其 ...

  7. vue中this.init用法_Vue中的this.$options.data()和this.$data用法说明

    问题 项目里遇到一个问题,用this.$options.data()重置组件data时,data()里用this获取的props或method都为undefined,代码简化如下: export de ...

  8. css3 中background的新增加的属性的用法(一)

    关于background属性用法,相信许多重构人员都很熟悉了,在css3中,background属性依然保持以前的用法,不过可以允许在该属性中添加多个背景图像组,背景图像之间通过逗号进行分隔.增加了4 ...

  9. 东方时尚网上约车的用户名密码是什么_网站制作要学什么、在现代网页设计中,动效常见的几种用法...

    常听到有人这样问:"网站制作要学什么"和"在现代网页设计中,动效常见的几种用法"有什么关系和内在关联?导航设计是网页可用性的基石.记住,如果用户在您的网站里找不 ...

  10. python中if elif else流程图_Python中的if、else、elif语句用法简明讲解

    Python中的if.else.elif语句用法简明讲解 发布于 2016-04-01 20:46:32 | 368 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是 ...

最新文章

  1. 1039: 二哥的困惑 Ⅱ
  2. 开店攻略: 购买行为越来越冲动性
  3. 手机应用软件下载导航php源码_第八篇:你需要一个没有广告的导航吗,我免费给你源码...
  4. 关于网站图片格式 png,jpg,
  5. vs里面mfc是什么_最近!一大批人正在前往文安,究竟发生了什么?
  6. 过河(dp+离散化)
  7. 培训ui设计要学编程吗?
  8. 爬虫教程 python3_Python3网络爬虫(四): 登录
  9. 软件测试——检查代码
  10. B9 Concurrent 重入锁(ReentrantLock)
  11. python 根据对应关系批量修改文件名
  12. Prism初研究之使用Prism 5.0开发模块化应用
  13. vue-router的编程式导航
  14. 数据库连接软件SQLyog 13.1.7 免费下载安装
  15. navicat如何创建数据库及如何导入数据库文件【初学者适用】
  16. mono linux 编译,Linux服务器编译安装Mono笔记
  17. Hyper-V新建Windows7虚拟机
  18. 原神3.4私服一键包搭建教程windows+linux
  19. NOI的1.9.8白细胞计数
  20. 上海税前12000的工资,税后能拿到多少?

热门文章

  1. 认真研究下HTML之id、name、form、submit
  2. 为OLED屏添加GUI支持2:2D图形库
  3. POJ1654 Area(多边形面积)
  4. 如何合理命名你的代码
  5. 关于Autorun.inf文件
  6. C语言中如何衡量算法的正确性,从C语言的角度重构数据结构系列(二)-如何衡量一个算法的优劣?...
  7. Python版课堂管理系统中使用UDP广播远程关闭客户端程序思路与源码
  8. 《Python程序设计开发宝典》第一波转发积攒活动中奖名单
  9. C语言:字符数组赋值
  10. java数组为什么可以迭代吗_另一个“只能迭代数组或java.lang.Iterable实例”的问题...