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

佛山做网站的公司影视剪辑培训机构排名

佛山做网站的公司,影视剪辑培训机构排名,网站制作的一般过程,在线做数据图的网站预告 : 切片主要有学习两种用法和应用示例 这里重点是切片,数组的化其实我们可能用到的不会太多,切片本质上是一个边长数组,所以这个应用比较防范,因为大多数情况下,我们都不能确定数组的长度,…

预告 : 切片主要有学习两种用法和应用示例

这里重点是切片,数组的化其实我们可能用到的不会太多,切片本质上是一个边长数组,所以这个应用比较防范,因为大多数情况下,我们都不能确定数组的长度,所以使用切片相对容易轻松了许多。

数组

定义:

var variable_name [SIZE]data_type

其中,variable_name 是数组的名称,SIZE是数组的大小,data_type是数组中元素的数据类型

  • 数组长度必须是常量,且是类型的组成部分,一旦创建,大小不可变。
  • 长度是数组类型的一部分,因此,var a[5] int和var a[10]int是不同的类型。
  • 数组通过索引进行访问,从0到 len() - 1,超出范围会触发 painc
  • 数组是值类型,赋值和传参会传递一个一摸一样的副本,而不是指针,所以对副本的修改不会传递到原值
  • 数组支持多维数组

常见用法:

创建数组:

package mainimport "fmt"func main() {var a1 [5]int  // 声明一个包含 5 个整数的数组var a2 = [3]int{1, 2, 3}  // 初始化一个包含 3 个整数的数组a3 := [...]int{1, 2, 3, 4, 5}  // 根据元素数量自动推导出数组长度fmt.Println(a1)fmt.Println(a2)fmt.Println(a3)
}

数组的常见操作:

package mainimport "fmt"func print_array(array [5]int) {for i := 0;i < len(array);i++ {fmt.Println("print_array 输出数组元素 ", i, " 值为 ", array[i])}
}func main() {var a1 = [5]int {1,2,3,4,5}// 数组的长度fmt.Println("数组 a1 的长度 ", len(a1))// 遍历数组for i := 0;i < len(a1);i++ {fmt.Println("数组元素 ", i, " 值为 ", a1[i])}// 修改数组的内容a1[2] = 20fmt.Println("修改后数组的内容 : ", a1)// 函数实参print_array(a1)
}

切片

        切片的本质是一个结果体类型,他管理某一个数组类型,所以也算是引用类型。切片在作为参数或者赋值语句中,相当于值拷贝,结果是两个变量指向同一个数组。接着上面说,当遇到修改切片内容的时候,可能会触发扩容,一旦其中一个触发扩容后,这俩变量就不一样啦。切片作为一个变长数组使用,应该很容易理解了。

定义:

var variable_name []data_type

其中,variable_name 是数组的名称,[] 是类型的一部分不能省略,data_type是数组中元素的数据类型

切片是数组的引用,它并不存储数据,而是指向数组中的一个部分。

切片包含三个主要的部分:

  • 指针:指向数组中切片的第一个元素。

  • 长度:切片的元素个数。

  • 容量:切片所能容纳的最大元素数量,它是从切片的起始位置到数组末尾的元素数量。

切片的遍历和访问操作与数组相同,只是多了一个 cap(), 是数组的实际容量
切片的 零值 为 nil 

常见用法:

创建切片:

创建切片有三种方式:

  • 使用 []Type{} 直接创建切片
  • 使用 make 创建切片
  • 使用数组的切片操作创建切片
package mainimport "fmt"func main() {var a []intb := []int {1,2,3}c := make([]int, 3, 8)d := b[:2]e := b[0:]f := b[1:2]fmt.Println(a)fmt.Println(b)fmt.Println(c)fmt.Println(d)fmt.Println(e)fmt.Println(f)
}


s4 := make([]int, 0, 5)
s4 = append(s4, 1, 2, ...)
s4 = append(s4, s3...)

切片的常见操作:

  • 访问切片元素:
package mainimport "fmt"func main() {a := []int {1,2,3,4,5}fmt.Println(a[0], a[1], a[4])
}
  • 切片的修改
package mainimport "fmt"func main() {a := []int {1,2,3,4,5}fmt.Println("修改之前:", a)a[3] = 10fmt.Println("修改之后", a)
}
  • 向切片添加元素
package mainimport "fmt"func main() {a := []int {1,2,3,4,5}fmt.Println("修改之前:", a)a = append(a, 6)fmt.Println("添加一个元素:", a)
}
  • 拷贝切片
package mainimport "fmt"func main() {a := []int {1,2,3,4,5}b := make([]int, len(a))copy(b, a)  // 将 a 拷贝到 bfmt.Println("a 切片的内容:", a)fmt.Println("b 切片的内容:", b)
}
  • 切片的扩容
package mainimport "fmt"func main() {a := []int {1,2,3,4,5}fmt.Println("a的长度 ", len(a), "a的容量 ", cap(a), "扩容之前的内容:", a)a = append(a, 6,7,8,9,10)fmt.Println("a的长度 ", len(a), "a的容量 ", cap(a), "扩容之后的内容:", a)
}
  • 遍历切片
package mainimport "fmt"func main() {a := []int {1,2,3,4,5}for i := 0; i < len(a); i++ {fmt.Println("第 ", i, "个元素:", a[i])}
}

http://www.dtcms.com/wzjs/216433.html

相关文章:

  • 百度网站降级的原因搜易网服务内容
  • 网站建设图片怎么切最新国内重大新闻
  • 网站排名和什么有关站长工具ping
  • 做网站背景图片浪漫爱情太原百度快速优化排名
  • 网站分类表seo外包 靠谱
  • 做网站建设的网络公司经营范围怎样填谷歌seo公司
  • 专做机票网站的软件公司电脑培训班零基础网课
  • 关于网站建设的调研报告东莞seo排名外包
  • 做毕业设计一个网站的数据来源安徽网站建设优化推广
  • wordpress 搭建多站点竞价推广专员
  • 网站定制设计方案如何推广
  • 河北高端网站设计免费源码资源源码站
  • 网站设计西安网站建设百度一下 你就知道官网 新闻
  • 国外网站后缀网络热词2022流行语及解释
  • 上海网站设计见建设沈阳百度推广排名优化
  • 网站建设费归入长期待摊费用seo优化排名百度教程
  • 做网站是先做界面还是先做后台搜索排名优化策划
  • 吴兴网站建设百度手机端推广
  • 阿里云免费网站备案百度自动优化
  • 做本地地旅游网站如何在手机上开自己的网站
  • 广州百度网站搭建2022年搜索引擎优化指南
  • 肇庆建设网站做运营需要具备什么能力
  • 深圳公司网站开发优化公司网站排名
  • 东莞找工作一般在哪里找aso优化平台有哪些
  • 上海市建设网站事件营销的经典案例
  • 如何免费建设一个网站bt磁力搜索器
  • 济南源码网站建设东莞网站推广排名
  • 打鱼网站建设友情链接收录
  • 怎么用优盘做网站登录密钥铜仁搜狗推广
  • 河南怎样做网站推广新手做seo怎么做