Golang
文章平均质量分 62
SAY_BAI
许你面朝大海,春暖花开。
展开
-
Go的基础补充Channel和GMP调度原理
关闭后的通道有以下特点: 1.对一个关闭的通道再发送值就会导致panic。 2.对一个关闭的通道进行接收会一直获取值直到通道为空。 3.对一个关闭的并且没有值的通道执行接收操作会得到对应类型的零值。 4.关闭一个已经关闭的通道会导致panic。 Go语言的并发模型是CSP Go语言的并发模型是CSP(Communicating Sequential Processes),提倡通过通信共享内存而不是通过共享内存而实现通信。 如果说goroutine是Go程序并发...原创 2022-03-28 19:22:47 · 375 阅读 · 0 评论 -
Slice和MAP底层实现
Slice切片的数据结构 切片本身并不是动态数组或者数组指针。它内部实现的数据结构是通过指针引用底层数组,设定相关属性将数据读写操作限定在指定的区域内。切片本身是一个只读对象,其工作机制类似数组指针的一种封装。 切片是一个长度可变的数组。 Slice 的数据结构定义如下: type slice struct { array unsafe.Pointer len int 存储的数据长度 cap int 实际创建的slice的最大长度 } ...原创 2022-03-28 19:25:45 · 889 阅读 · 0 评论 -
依赖注入测试
main.go package main import "fmt" type DemoData struct { Name string } func NewDemoData(name string) DemoData { data := DemoData{} data.Name = name return data } func (data DemoData) DemoStart() { fmt.Println("m.Player.Name+++原创 2022-03-28 19:31:01 · 173 阅读 · 0 评论 -
快速排序demo
package main import ( "fmt" "math" ) /* 一、刚进来 arr = []int{1, 9, 10, 30, 2, 5, 45, 8, 63, 234, 12} 反正就是不断的递归判断知道子元素为一个时输出进行拼接 */ func QuickSort(arr []int, str string) []int { if len(arr) <= 1 { //直到判断数组剩下一个元素时直接返回结果,给到myarr拼接 f原创 2022-03-29 09:41:46 · 342 阅读 · 1 评论