当前位置: 首页 > news >正文

深圳网站制作公司售后服务江苏建站

深圳网站制作公司售后服务,江苏建站,长沙关键词优化报价,在360做网站和百度做网站的区别文章目录 1.简介2.区别3.new 可以初始化 slice#xff0c;map 和 channel 吗#xff1f;4.make 可以初始化其他类型吗#xff1f;5.小结参考文献 1.简介 在 Go 语言中#xff0c;make 和 new 是两个用于创建对象的内建函数#xff0c;但它们有着不同的用途和适用范围。 … 文章目录 1.简介2.区别3.new 可以初始化 slicemap 和 channel 吗4.make 可以初始化其他类型吗5.小结参考文献 1.简介 在 Go 语言中make 和 new 是两个用于创建对象的内建函数但它们有着不同的用途和适用范围。 make 「只用于」创建分配内存并初始化 slice、map 和 chan 类型的对象并返回对象本身。 函数原型 func make(t Type, size ...IntegerType) Type使用示例 // 创建一个初始长度为 5 容量也为 5 的切片 s : make([]int, 5) // 创建一个初始长度为 0 容量也为 5 的切片 s : make([]int, 0, 5)// 创建一个映射 m : make(map[string]int) // 创建一个映射并给定一个容量提示 m : make(map[string]int, hint)// 创建无缓冲信道 ch : make(chan int) // 创建容量为 10 的有缓冲信道 ch : make(chan int, 10)new 可用于任意类型的分配内存并置为零值返回指向对象的指针。 函数原型 // The new built-in function allocates memory. The first argument is a type, // not a value, and the value returned is a pointer to a newly // allocated zero value of that type. func new(Type) *Type使用示例 // 创建一个指向 int 类型的零值的指针 p : new(int)// 创建一个指向结构体类型的零值的指针 type Point struct {X, Y int } p : new(Point)2.区别 make 和 new 都是內建函数都是堆上分配内存。 1作用不同。 make 既分配内存也初始化内存new 只是申请内存将内存清零并没有初始化内存。 2作用对象不同。 make 只用于 slice、map 以及 channel 的初始化而 new 可用于任意类型的内存分配。 3返回不同。 make 返回的是对象本身而 new 返回的是指向对象的指针。 3.new 可以初始化 slicemap 和 channel 吗 不可以。 因为 new 只是申请对应类型的内存并返回指向内存的指针不做任何初始化操作。 所以我们使用 new 去创建上面几种类型的对象实际上获得的是对应类型的零值nil。 // 先取值因为 new 返回的是指针。 s : *new([]int) m : *new(map[int]int) ch : *new(chan int)// 等同于 var s []int var m map[int]int var ch chan int对于零值 slice可以使用 append 追加元素append 会调用 mallocgc 申请到一块内存并返回一个新的切片。 对于零值 mapnew 没有对 map 做创建桶等初始操作所以当我们添加键值对的时候会 panic查询和删除不存在的 key 时不会引发 panic因为查询和删除都要查找桶和 key如果没有对应的桶和 key查询返回零值删除则不做操作。 对于零值 channelnew 没有对 channel 的缓冲区开辟内存空间以及更多的内部初始化操作所创建的 channel 始终是 nil往里面发送或从里面接收数据都会引发 panic。 4.make 可以初始化其他类型吗 make 除了创建 slice、map 和 channel可以初始化其他类型吗如 int, string 不可以编译报错因为 make 没有对其他类型提供相应的底层方法。 // invalid argument: cannot make int; type must be slice, map, or channel i : make(int)5.小结 make 和 new 都是 Golang 的内建函数都用于创建对象但是二者有着不同的作用。 总体来说make 主要用于创建引用类型的数据结构并进行初始化而 new 主要用于创建值类型的实例。在实际使用时根据具体需求选择使用 make 或 new。 参考文献 Go make 和new 的区别- 掘金
http://www.hkea.cn/news/14551587/

相关文章:

  • 外贸网站哪家好免费的舆情网站app
  • 网站建设dqcxwordpress+外网无法访问
  • 深圳建设网站和公众号如何做软件类型的网站
  • 网站的逻辑结构发软文提高网站权重
  • 具体的网站建设不用网站怎么做落地页
  • 品牌网站建设小蝌蚪2a成都网站建设联系电话
  • 百姓网网站源码宣传网页设计
  • 做水果网站需要些什么手续怎么做公众号教程
  • 网站动态海报效果怎么做的网站定制开发多久时间
  • 备案网站的黑名单哪个平台视频资源多
  • 物流信息网站有哪些ip池代理
  • 网站如何做网页查询网站二级域名怎么设置
  • 那里做网站最好湖北省平安建设网站
  • 网站备案去哪注销公益网站建设 参考文献
  • 西安商城网站搭建毕业设计资料网站有哪些
  • 做网站 收费站群系统的优劣
  • 飓风算法恢复的网站阿里wordpress
  • ps 制作网站上海网站建设沪icp备
  • 购物网站建设ppt网站建设开发简介
  • 网站界面宽网站设计规范
  • 网站开发的目的意义特色创新百度竞价多少钱一个点击
  • 微网站建设 上海网页设计代码含js
  • 大型建筑网站设计公司详情热搜词排行榜
  • 网站开发重点难点分析免费注册企业
  • 如何找人做网站wordpress屏蔽国内ip
  • 什么做网站做个多少钱啊wordpress中文工具箱
  • 专业做家政网站网络推广软件有哪些
  • 网站制作 网站建设怎么做的jsp网站开发详解 下载
  • 国医堂网站平台建设福田公司
  • 那个网站可以免费建站公司网站设计的公司