Go语言中new和 make的区别详解

Python017

Go语言中new和 make的区别详解,第1张

make it

[口语]达到预期目的,做到,获得成功,办成,及时赶到

2. [口语]病痛好转;得救,痊愈

3. 走完(一段路程)

4. [美国俚语]相处很好,受尊重;受欢迎;被接受(with)

5. [美国俚语]感到满足;正合胃口;达到理想标准

6. [粗俗语](上瘾者)吸毒

知道这些就好O(∩_∩)O~

go for it

冒一下险,大胆试一试

两者没有相似处

要判断数据类型用Go空接口: 建函数t 设置参数i 类型空接口空接口接受任何数据类型 func t(i interface{}) { //函数t 参数i switch i.(type) { //选语句switch case string: //字符做事情 case int: //整...

定义一个切片,然后让切片去引用一个已经创建好的数组。基本语法如下:

索引1:切片引用的起始元素

索引2:切片只引用该元素位之前的元素

例程如下:

在该方法中,我们未指定容量cap,这里的值为5是系统定义的。

在方法一中,可以用arr数组名来操控数组中的元素,也可以通过slice切片来操控数组中的元素。切片是直接引用数组,数组是事先存在的,程序员是可见的。

通过 make 来创建切片,基本语法如下:

make函数第三个参数cap即容量是可选的,如果一定要自己注明的话,要注意保证cap≥len。

用该方法可以 指定切片的大小(len)和容量(cap)

例程如下:

由于未赋值系统默认将元素值置为0,即:

数值类型数组:    默认值为 0

字符串数组:       默认值为 ""

bool数组:           默认值为 false

在方法二中,通过make方式创建的切片对应的数组是由make底层维护,对外不可见,即只能通过slice去访问各个元素。

定义一个切片,直接就指定具体数组,使用原理类似于make的方式。

例程如下: