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

技工设计制作义齿图片朝阳区seo搜索引擎优化介绍

技工设计制作义齿图片,朝阳区seo搜索引擎优化介绍,什么网络公司比较好,食品网站建设风格理解 Go 语言中 slice 的性质对于编程非常有益。下面#xff0c;我将通过两个代码示例来解释切片在不同函数之间传递并执行 append 操作时的具体表现。 本篇为第 1 篇#xff0c;当切片的容量 cap 充足时 第一份代码 slice1 的初始长度为 3#xff0c;容量为 10 func main()…理解 Go 语言中 slice 的性质对于编程非常有益。下面我将通过两个代码示例来解释切片在不同函数之间传递并执行 append 操作时的具体表现。 本篇为第 1 篇当切片的容量 cap 充足时 第一份代码 slice1 的初始长度为 3容量为 10 func main() {slice1 : make([]int, 3, 10)fmt.Println(slice 1, slice1, len(slice1), cap(slice1))test1(slice1)fmt.Println(slice 1, slice1, len(slice1), cap(slice1))// 此时若访问 slice1[3] 则 panic因为 len 3不可越界 len// fmt.Println( slice[3] ) }func test1(slice2 []int) {// slice 2 对切片进行 append 操作slice2 append(slice2, 1)fmt.Println(slice 2, slice2, len(slice2), cap(slice2)) }输出 slice 1 [0 0 0] 3 10 slice 2 [0 0 0 1] 4 10 slice 1 [0 0 0] 3 10我们可以观察到在 main 函数中slice2 对切片的改动并没有体现在 slice1 上尽管它们明显操作的是同一底层数组。为什么会这样呢 原来在上述第一份代码中slice2 append(slice2, 1) 这一行操作是在函数 test1 内部执行的所以它不会改变调用该函数的 main 函数中的 slice1 的长度 len 3只会改变 test1 函数内部的 slice2 长度 len 4。因此在 main 函数中由于 slice1 的长度仍然是 3我们自然无法“看到”第 4 个元素。 那么如果在 main 函数中继续对 slice1 执行 append 操作会发生什么呢答案是它会直接覆盖掉 test1 函数中对第 4 个元素的赋值具体的情况如下图所示 第二份代码 有了上面的解释后我们可以自然而然的写出下面代码验证上述逻辑 // 以下注释为执行时机按顺序为 1 2 3 func main() {slice1 : make([]int, 3, 10)fmt.Println(slice 1, slice1, len(slice1), cap(slice1))go test1(slice1)time.Sleep(1 * time.Second)slice1 append(slice1, 2) // 2fmt.Println(slice 1, slice1, len(slice1), cap(slice1)) // 2time.Sleep(4 * time.Second) }func test1(slice2 []int) {slice2 append(slice2, 1) // 1time.Sleep(2 * time.Second)fmt.Println(slice 2, slice2, len(slice2), cap(slice2)) // 3 }输出 slice 1 [0 0 0] 3 10 slice 1 [0 0 0 2] 4 10 slice 2 [0 0 0 2] 4 10结论 当我们在函数 A 中将 slice1 传递给函数 B 并在 B 中执行 append 操作时只要底层数组没有扩张就会在原数组的基础上进行追加此时 B 函数中的 len 为 4。虽然 A 和 B 函数共享一个底层数组但由于 A 函数的 len 保持为 3因此我们不能访问数组的第 4 位元素否则会引发 panic。当我们在 A 函数中也执行 append 操作时A 函数会直接覆盖底层数组的第 4 位数值从而直接覆盖了 B 函数所赋的值。
http://www.w-s-a.com/news/23818/

相关文章:

  • 建站主机 wordpress专业的菏泽网站建设公司
  • 网站响应时间 标准网站建设色调的
  • 网站开发的合同网站建设 设计
  • 网站开发设置网页端口申请免费个人网站空间
  • 制作广告网站的步骤云服务器做网站
  • ipv6可以做网站吗东莞网站建站推广
  • 注册功能的网站怎么做做网站容易还是编程容易
  • wordpress建立目录seo编辑培训
  • 网站怎么群发广州现在可以正常出入吗
  • 微信有网站开发吗多语种网站
  • 深圳网站设计 建设首选深圳市室内设计公司排名前50
  • 上海网站建设 觉策动力wordpress接口开发
  • 网站建设服务器的选择方案小型视频网站建设
  • 江宁做网站价格扬州立扬计算机培训网站建设怎么样
  • 手表网站背景开发新客户的十大渠道
  • 定制网站设计wordpress写的网站
  • p2p网站建设公司排名成都装饰公司
  • 网站被k怎么恢复wordpress缓存类
  • 做外贸有哪些网站平台最近文章 wordpress
  • joomla网站模板一个人做网站的swot
  • 南京建设网站需要多少钱深圳专业网站建设制作价格
  • 天河建网站装修公司线上推广方式
  • 超市网站怎么做的目前最流行的拓客方法
  • 做文字logo的网站贵阳商城网站开发
  • 沧州有没有做网站的中国建筑设计
  • 建设网站 系统占用空间在线代理浏览网站
  • 做海报有什么参考的网站网站建设验收合同
  • 酒店网站制作wordpress文章评论设置
  • 造一个官方网站wordpress mysql类
  • 怎么做卡商网站河南做网站找谁