## 一、实例
~~~
package main
import "fmt"
func main() {
// 定义一个数组
arr := [...]int{1,2,3,4,5,6,7,8,9}
s1 := arr[2:6]
fmt.Println(s1)
// go语言没有取到的位置,可以向后延伸,不可向前延伸
s2 := s1[3:5]
fmt.Println(s2)
//
s3 := append(s2,10)
fmt.Println(s3)
fmt.Println(arr)
s4 := append(s3,11)
fmt.Println(s4)
fmt.Println(arr)
// 超过原来的内存空间后,会生成新的内存空间,但是这里不知道,无法获取
s5 := append(s4,12)
fmt.Println(s5)
fmt.Println(arr)
s6 := append(s5,13)
fmt.Println(s6)
fmt.Println(arr)
}
~~~
结果为:
[3 4 5 6]
[6 7]
[6 7 10]
[1 2 3 4 5 6 7 10 9]
[6 7 10 11]
[1 2 3 4 5 6 7 10 11]
[6 7 10 11 12]
[1 2 3 4 5 6 7 10 11]
[6 7 10 11 12 13]
[1 2 3 4 5 6 7 10 11]
## 实例二
~~~
package main
import "fmt"
func main() {
// 定义一个数组
arr := [...]int{0,1,2,3,4,5,6,7,8,9}
// 取切片
// 8,9
s1 := arr[8:]
fmt.Println(s1)
//0,1,2,3,4
s2 := arr[:5]
fmt.Println(s2)
// 将后面的切片元素,拷贝到前面的切片中
// copy() 从前往后添加
copy(s2,s1)
fmt.Println(s2)
fmt.Println(arr)
}
~~~
结果为:
[8 9]
[0 1 2 3 4]
[8 9 2 3 4]
[8 9 2 3 4 5 6 7 8 9]
- 一、数组
- 二、切片
- 三、copy
- 四、MAP
- 五、结构体
- 六、结构体参数
- 七、面向”对象“
- 1、匿名字段
- 2、方法
- 3、包和封装
- 4、接口
- 5、异常处理
- 八、Json
- 九、文件操作
- 1、写文件
- 2、读取文件内容
- 3、拷贝文件
- 十、反射
- 1、查看类型,字段和方法
- 2、查看匿名字段
- 3、修改基本类型的值
- 4、修改结构体的值
- 5、调用方法
- 十一、并发编程
- 1、并行和并发
- 2、协程
- 3、runtime包
- 5、channel的使用
- 6、close
- 7、定时器
- 8、select
- 9、协程同步锁
- 十二、socket编程
- 十三、Http编程
- 十四、并发爬虫和数据处理
- 1、简易爬虫实例
- 2、并发爬取图片
- 3、读文件中的数据
- 4、数据清洗
- 其他
- 1、推荐文章