golang:var、new、make区别及使用

本文探讨Go语言中的变量声明方式,包括值类型、引用类型和指针类型。var用于声明并初始化值类型,赋予零值;new主要用来为指针类型分配内存并返回其地址,但在实际工程中直接声明指针更常见;make则专门用于初始化引用类型如map、slice和chan,返回已分配内存的引用,而非指针。
摘要由CSDN通过智能技术生成

先整明白go里面的几大变量“类型”(不严谨,只是个人在使用的时候常用到的结构的一个划分)
(1) 值类型: int32, string, struct 这种
(2) 引用类型:主要是map, slice,chan 这三个引用(make创建内存的)
(3)指针类型:那就多了, *int64, *struct…


(1)对于值类型的变量,我们通过var 声明(包括结构体),系统会默认为他分配内存空间,并赋该类型的零值。如下,我们声明一个int类型变量i,输出为0。

var i int
fmt.Println(i) //i=0

而如果我们声明一个指针类型的变量,系统不会为他分配内存,默认就是nil。此时如果你想直接使用,那么系统会抛异常。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值