代码演示

package main

import "fmt"

func main() {
s := make([]string, 3)
fmt.Println("emp:", s) s[0] = "a"
s[1] = "b"
s[2] = "c"
fmt.Println("set:", s)
fmt.Println("get:", s[2]) fmt.Println("len:", len(s)) s = append(s, "d")
s = append(s, "e", "f")
fmt.Println("apd:", s) c := make([]string, len(s))
copy(c, s)
fmt.Println("cpy:", c) l := s[2:5]
fmt.Println("sl1:", l) l = s[:5]
fmt.Println("sl2:", l) l = s[2:]
fmt.Println("sl3:", l) t := []string{"g", "h", "i"}
fmt.Println("dcl:", t) twoD := make([][]int, 3)
for i := 0; i < 3; i++ {
innerLen := i + 1
twoD[i] = make([]int, innerLen)
for j := 0; j < innerLen; j++ {
twoD[i][j] = i + j
}
}
fmt.Println("2d: ", twoD)
}

代码运行结果

emp: [ ]

set: [a b c]

get: c

len: 3

apd: [a b c d e f]

cpy: [a b c d e f]

sl1: [c d e]

sl2: [a b c d e]

sl3: [c d e f]

dcl: [g h i]

2d: [[0] [1 2] [2 3 4]]

代码解读:

  • 分片是go语言中的一个关键数据类型,能够提供比数组更加有用序列接口
  • 不像数组,分片的类型只由他们包含的元素来定义。用内置方法make创建一个空的分片必须加上长度
  • 可以像数组一样,set和get分片的元素
  • 用方法len来返回分片的长度
  • 在分片的基本操作中,分片支持的方法多余数组。一个是内置方法append,可以追加元素到分片中
  • 分片也可以被拷贝
  • 分片支持切片操作,语法为slice[low:high]
  • 对于分片,我们可以声明它并且初始化元素内容,并且在一行内就做好这些
  • 分片也可以有多维结构,内层分片是可变的,不像多维数组那样

最新文章

  1. Java开发中的23种设计模式详解(转)
  2. java虚拟机内存区域的划分以及作用详解
  3. WEB 业务测试中需要关注的问题
  4. RHCE实验环境|rhel7-lab
  5. Shadow SSDT详解、WinDbg查看Shadow SSDT
  6. javascript模块化详解
  7. mysql 远程访问
  8. Oracle Goldengate和Oracle Data Integrator的初步认识
  9. Kali for Android
  10. python学习之路-12
  11. OSG中的智能指针
  12. QTableView的表格项中加入图标的方法(重载View::mouseMoveEvent,并使用View::setIconSize函数设置图标的大小)
  13. stm32之Systick(系统时钟)
  14. .Net中获取打印机的相关信息
  15. solrnet的使用
  16. js中运算符
  17. 学习笔记——抽象工厂模式Abstract Factory
  18. 关于 Angular 跨域请求携带 Cookie 的问题
  19. Qt5.7.0移植到4412
  20. 看完此文还不懂NB-IoT,你就过来掐死我吧...

热门文章

  1. cookie与token
  2. DVWA学习记录 PartⅠ
  3. redis入门指南(三)—— 事务、过期时间、SORT命令、消息通知与管道
  4. AI开发利器:HiLens Studio技术解读
  5. 【Python】关于如何判断一个list是否为空的思考
  6. 手写简易的Mybatis
  7. Java常用API(ArrayList类)
  8. 数据结构C语言实现----出队伍操作
  9. 多国正在遭遇新型勒索病毒Petya侵袭
  10. Redis知识总结