首页 > 其他分享 >new 和 make 函数区别

new 和 make 函数区别

时间:2022-10-13 21:48:58浏览次数:50  
标签:函数 make 数据类型 new Type append

详细参见 go文件夹下 src/builtin/builtin.go文件。 

new函数

  • 定义:func new(Type) *Type
  • 说明:形参是一个数据类型,返回值是这个数据类型(零值)的的指针。
  • 用途:初始化,作用等同 &Type{}或者 var a Type; &a。

make函数

  • 定义:func make(t Type, size ...IntergerType)
  • 说明:Type 形参有两个,一个和new函数一样是数据类型,另外还有一个size的不定长数值参数,返回值是数据类型,而非指针
  • 用途:只能用作slice、map、channel的初始化。

 

举个例子:

a := new([]int)

a = append(a, 1)这样是不行的

*a = append(*a, 1)这样是可以的

b := make([]int, 0)

b = append(b, 1) 这样是可以的

这里是append函数的定义, func append(slice []Type, elems ...Type) []Type,原因就在于参数的类型。   一般来说new用的少一些。碰到了留意即可。

标签:函数,make,数据类型,new,Type,append
From: https://www.cnblogs.com/xuegexi/p/16789779.html

相关文章

  • 三元表达式以及内置函数
    算法简介及二分法三元表达式各种生成式匿名函数重要内置函数常见内置函数今日内容详细算法简介及二分法1.什么是算法 算法就是解决问题的有效方法不是所有的算......
  • 二分法及常见内置函数(部分)
    昨日内容回顾多层语法糖的顺序语法糖多层使用时,从被装饰的函数开始由下而上读取,由上而下执行。有参装饰器有参装饰器可以为装饰器提供额外的参数。defwrapper(pa......
  • python函数及算法
    算法二分法二分算法图什么是算法?​ 算法是高效解决问题的办法。需求:有一个按照从小到大顺序排列的数字列表,查找某一个数字#定义一个无序的列表nums=[3,4,5,67,......
  • 基础的函数
    #include<stdio.h>#include<math.h>intmain(){ doublex,y,a,b,c,d,e; printf("请分别输入x,Y的值:"); scanf_s("%lf%lf",&x,&y); a=sin(x); b=cos(x......
  • JavaScript高级程序设计笔记10 函数Function
    函数1.几种实例化函数对象的方式以函数声明的方式定义函数表达式箭头函数(arrowfunction)使用Function构造函数接收任意多个字符串参数,最后一个参数始终会被......
  • 【pytest官方文档】解读- 插件开发之hooks 函数(钩子)
    上一节讲到如何安装和使用第三方插件,用法很简单。接下来解读下如何自己开发pytest插件。但是,由于一个插件包含一个或多个钩子函数开发而来,所以在具体开发插件之前还需要先......
  • 匿名函数,二分法,三元表达示
    算法简介及二分法1.什么是算法 算法就是解决问题的有效方法不是所有算法都很高效也有不合格的算法2.算法应用场景 推荐算法:比如抖音成像算法:AI相关几乎覆......
  • 算法、表达式与匿名函数
    算法简介1.什么是算法 算法就是解决问题的有效方法不是所有的算法都很高效也有不合格的算法2.算法的应用场景 推荐算法(抖音视频推送淘宝商品推送)成像算法(AI......
  • 二分法、三元表达式及匿名函数
    二分法、三元表达式及匿名函数目录二分法、三元表达式及匿名函数一、算法简介及二分法二、三元表达式三、各种生成式1.列表生成式2.字典生成式3.集合生成式4.元组四、匿名......
  • 算法 生成式 函数内置
    今日内容概要算法简介及二分法三元表达式各种生成制匿名函数重要内置函数常见内置函数算法简介及二分法1.什么算法? 解决问题的有效方法,不是所有的算法都是高效......