Go语言 | 青训营笔记

58 阅读3分钟

Go语言提供了强大而简洁的并发编程机制,使得开发者可以轻松地编写并发和并行的程序。Go的并发模型基于轻量级的Goroutine和通道(Channel)的概念。 并发是指程序的多个部分可以同时执行,它可以提高程序的性能和响应能力。在Go语言中,可以使用go关键字创建Goroutine,它是一种轻量级的执行线程。Goroutine相比于传统的线程更加轻量,可以高效地创建和管理大量的并发任务。

另一个重要的并发概念是通道(Channel),它用于Goroutine之间的通信和数据传输。通道提供了同步和异步两种模式,用于控制数据的发送和接收。通过通道,Goroutine之间可以安全地共享数据,避免了竞态条件和锁的使用。

Go语言切片

在Go语言中,切片(slice)是一种动态数组,可以根据需要动态增加或缩小切片的长度。切片是由一个指向底层数组的指针、长度和容量组成的。

切片的定义

定义一个切片可以使用make函数,语法如下:

go 复制代码 slice := make([]type, length, capacity)

其中,type指切片中元素的类型,length指切片的长度,capacity指底层数组的容量。也可以使用[]type来声明一个空切片。

go 复制代码 var slice []type

切片的使用

切片的赋值

可以通过切片的下标和索引来对切片进行赋值和读取操作,如下所示:

go 复制代码 slice := []int{1, 2, 3, 4, 5} slice[0] = 0 fmt.Println(slice[0]) // 输出0

切片的追加

切片可以使用内置的append函数来追加元素,语法如下:

go 复制代码 slice := []# Go语言切片

在Go语言中,切片(slice)是一种动态数组,可以根据需要动态增加或缩小切片的长度。切片是由一个指向底层数组的指针、长度和容量组成的。

切片的定义

定义一个切片可以使用make函数,语法如下:

go slice := make([]type, length, capacity)

其中,type指切片中元素的类型,length指切片的长度,capacity指底层数组的容量。也可以使用[]type来声明一个空切片。

go 复制代码 var slice []type

切片的使用

切片的赋值

可以通过切片的下标和索引来对切片进行赋值和读取操作,如下所示: go 复制代码 slice := []int{1, 2, 3, 4, 5} slice[0] = 0 fmt.Println(slice[0]) // 输出0

切片的追加

切片可以使用内置的append函数来追加元素,语法如下:

go 复制代码 slice := []int{1, 2, 3} slice = append(slice, 4, 5) fmt.Println(slice) // 输出[1 2 3 4 5] 。

切片的切割

切片可以通过下标进行切割,生成一个新的切片。切割的语法如下:

go 复制代码 slice := []int{1, 2, 3, 4, 5} newSlice := slice[1:3] fmt.Println(newSlice) // 输出[2 3]