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

高科技展厅效果图设计商丘 峰少 seo博客

高科技展厅效果图设计,商丘 峰少 seo博客,网站网讯,wordpress本地网站说明 因为slice是指针类型#xff0c;所以很多人会误以为其传递的是引用#xff0c;所以在使用的过程中会出现一些非期望的实现。 问题 在使用append函数时#xff0c;比如以下函数#xff1a; func sliceModify(slice []int) {// slice[0] 88slice append(slice, 6) } … 说明 因为slice是指针类型所以很多人会误以为其传递的是引用所以在使用的过程中会出现一些非期望的实现。 问题 在使用append函数时比如以下函数 func sliceModify(slice []int) {// slice[0] 88slice append(slice, 6) } func main() {slice : []int{1, 2, 3, 4, 5}sliceModify(slice)fmt.Println(slice) } // [1 2 3 4 5] 为什么append的数组在外部没有改变呢因为slice传的是值虽然改变了底层数据但是外部slice的状态并没改变。也许有人质疑值语义但是有以下代码 func modifySlice(data []int) {data nil } func main() {a : []int{1,2,3}fmt.Println(a)modifySlice(a)fmt.Println(a) } // [1, 2, 3] // [1, 2, 3] 从上面代码可以看到改变slice本身的值并不会改变外部的值及是值语义。 那么如何解决值传递带来的问题解决方法一就是将slice作为指针传递 func sliceModify(slice *[]int) {*slice append(*slice, 6) } func main() {slice : []int{1, 2, 3, 4, 5}sliceModify(slice)fmt.Println(slice) } 指针会改变原本变量的状态所以外部的slice发生了改变。 另一种解决方法是改变外部变量的状态如下代码 func main() { s1 : make([] int ,3,5) s1[0] 1 s1[1] 2 fmt.Println(s1) s2 :s1[:4] } func test( s [] int ) { s append(s,3) fmt.Println(s) } //[1 2 0 3] //[1 2 0] //[1 2 0 3] 虽然在函数内修改slice但是只是添加到了内存中所以在函数中内printf出来但是外部的len没有改变所以不会显示如果强制改变其状态那么添加的值也就显露出来了。
http://www.pierceye.com/news/139422/

相关文章:

  • 做一个网站需要到哪里做辽宁同鑫建设网站
  • 开发网站监控推荐扬中市建设局网站
  • 手机网站根目录简述一个网站设计的主要步骤
  • 网站改版seo建议网页设计师的能力
  • 网站上线前应该备案吗温州网站建设风格
  • 网站建设书籍免费聊城市东昌府区建设路小学网站
  • 网站标题优化怎么做找人一起做素材网站
  • 如何创建个人网站模板用织梦做模板网站
  • 平台建站建设做网站一定要有营业执照吗
  • 如何把学校网站建设好天猫店铺购买
  • 网站的建设和推广企业网站建设的主要目的是
  • html5 公众号 网站开发工程公司名称
  • 公司做网站那家好网站二维码怎么制作
  • 鼓楼区建设房产和交通局网站网站全屏图片怎么做
  • 外贸订单流失严重番禺网站建设优化推广
  • 做网站送邮箱电商网站建设行情
  • f2c网站建设珠海手机网站建设费用
  • 网站建设的策划书wordpress相册代码
  • 直播网站创做上海网站制作公司哪
  • 如何承接网站建设外包昆明专业网站设计公司
  • 网站做关键词库的作用trellis wordpress
  • 建设一个网站需要哪些硬件设备关键词查询爱站网
  • 17网站一起做网店普宁个人网站备案名称填写的注意事项
  • 好的专业网站建设公司asp300源码
  • 问卷调查网站赚钱一流的盐城网站建设
  • 前端网站推荐常德农科院网站
  • 域名注册网站建设方案网站建设一般多少钱
  • 宁波网站推广找哪家重庆市建设工程信息网官网怎么查看
  • 大创意网站wordpress影视主题
  • 简约 网站模板电商网站推广方法