Transitioning to Go0 码力 | 30 页 | 1.53 MB | 1 年前3
Go 101 (Golang 101) v1.21.00 码力 | 630 页 | 3.77 MB | 2 年前3
Golang 101(Go语言101 中文版) v1.21.a。第17章:值部-为了更容易和更深刻地理解Go中的各种值 。第18章:数组、切片和映射 - Go中的首要容器类型 。第19章:字符串 。第20章:函数 - 函数类型和函数值,以及变长参数个数函数 。第21章:通道 - Go特色的并发同步方式 第22章:方法 。第23章:接口-通过包裹不同具体类型的非接口值来实现反射和多态 第24章:类型内嵌-不同于继承的类型扩展方式 第25章:非类型安全指针 第26章:泛型-如何使用和解读组合类型 第32章:代码块和标识符作用域 ## 目录 第33章:表达式估值顺序规则 。第34章:值复制成本 。第35章:边界检查消除 ## · 并发编程 。第36章:并发同步概述 。第37章:通道用例大全 第38章:如何优雅地关闭通道 。第39章:其它并发同步技术-如何使用sync标准库包 。第40章:原子操作-如何使用sync/atomic标准库包 第41章:Go中的内存顺序保证 第42章:一些常见并发编程错误 各种其它主题的文章。所以现在《Go语言101》大约有50篇文章。 ## 你曾经的困惑主要包括哪些方面? 一些困惑是关于一些Go语法和语义设计细节的。一些困惑涉及到某些类型的值,主要是切片,接口和通道类型。另外一些涉及到标准包API的使用细节。 ## 你认为造成你曾经的困惑的主要原因是什么? 第0章:关于《Go语言101》 我觉得最主要的原因是我当时抱着Go是一门非常简单的语言的态度去学习和0 码力 | 591 页 | 21.40 MB | 2 年前3
Comprehensive Rust(English) 2024120 码力 | 382 页 | 1.00 MB | 1 年前3
如何消除程序中的数据竞争-周光远d := c \\ 5 \quad print(d) \end{array} $$ channel: 开始发送 开始发送 开始接收 ## 接收完成 发送完成 接收完成 无缓冲通道 所有通道:开始发送 → 接收完成(同一个数据); - 对于无缓冲channel:开始接收 → 发送完成(同一个数据); 其他的对于init函数,锁,协程,原子操作,sync包里的功能,还有许多保证 make(chan struct{}, 1) go func() { a[1] = 1 c <- struct{}{} }() <-c 3 a[2] = 2 4 利用通道的happens before保证;建立了2→3。 再结合传递性可以得到: $ 1 \rightarrow 2 \rightarrow 3 \rightarrow 4 $ . 所以消除了数据竞争 /8/3/8/d8388e030498b4a865900850a6f7e74b/p17_1.jpg) ## 消除数据竞争 可用的happens : • 互斥锁/读写锁 • 原子操作 • 通道 • Sync包中的其他能力(sync.Map, sync.WaitGroup, sync.Cond, sync.Once) • golang.org/x/sync中的能力(errgroup0 码力 | 30 页 | 1.92 MB | 2 年前3
使用硬件加速Tokio - 戴翔0 码力 | 17 页 | 1.66 MB | 2 年前3
深度解析CNCF社区⾸个基于Kubernetes的边缘计算平台KubeEdge边缘之间的网络可靠性和带宽限制的问题。 → 通过大幅优化边缘组件的资源占用(二进制大小约46MB,运行时内存占用约10MB),解决了边缘资源的约束问题。 → 通过在云边之间构建的双向多路复用网络通道,解决了从云端管理高度分布的海量节点和设备难的问题。 南向支持对接物联网主流的通信协议(MQTT,Bluetooth,Zigbee,BACnet等),解决了异构硬件接入难的问题 ## Why KubeEdge——CNCF0 码力 | 20 页 | 2.08 MB | 2 年前3
Hyperledger Fabric 2.0.1 Documentation0 码力 | 760 页 | 10.21 MB | 2 年前3
Golang 101(Go语言101 中文版) v1.21.a为了更容易和更深刻地理解Go中的各种值 - 第18章:数组、切片和映射 - Go中的首要容器类型 - 第19章:字符串 - 第20章:函数 - 函数类型和函数值,以及变长参数个数函数 - 第21章:通道 - Go特色的并发同步方式 - 第22章:方法 - 第23章:接口 - 通过包裹不同具体类型的非接口值来实现反射和多态 - 第24章:类型内嵌 - 不同于继承的类型扩展方式 第32章:代码块和标识符作用域 。第33章:表达式估值顺序规则 。第34章:值复制成本 。第35章:边界检查消除 ## • 并发编程 。第36章:并发同步概述 第37章:通道用例大全 。第38章:如何优雅地关闭通道 。第39章:其它并发同步技术 - 如何使用sync标准库包 。第40章:原子操作 - 如何使用sync/atomic标准库包 。第41章:Go中的内存顺序保证 第42章:一些常见并发编程错误 各种其它主题的文章。所以现在《Go语言101》大约有50篇文章。 ## 你曾经的困惑主要包括哪些方面? 一些困惑是关于一些Go语法和语义设计细节的。一些困惑涉及到某些类型的值,主要是切片,接口和通道类型。另外一些涉及到标准包API的使用细节。 你认为造成你曾经的困惑的主要原因是什么? 我觉得最主要的原因是我当时抱着Go是一门非常简单的语言的态度去学习和使用Go。持有这种态度阻止了我更深刻地理解Go。0 码力 | 608 页 | 1.08 MB | 2 年前3
Golang 101(Go语言101 中文版) v1.21.a为了更容易和更深刻地理解Go中的各种值 - 第18章:数组、切片和映射 - Go中的首要容器类型 - 第19章:字符串 - 第20章:函数 - 函数类型和函数值,以及变长参数个数函数 - 第21章:通道 - Go特色的并发同步方式 - 第22章:方法 - 第23章:接口 - 通过包裹不同具体类型的非接口值来实现反射和多态 - 第24章:类型内嵌 - 不同于继承的类型扩展方式 也解释了什么是“函数退出阶段” 第32章:代码块和标识符作用域 第33章:表达式估值顺序规则 第34章:值复制成本 第35章:边界检查消除 ## • 并发编程 第36章:并发同步概述 第37章:通道用例大全 第38章:如何优雅地关闭通道 。第39章:其它并发同步技术 - 如何使用sync标准库包 。第40章:原子操作 - 如何使用sync/atomic标准库包 第41章:Go中的内存顺序保证 第42章:一些常见并发编程错误 各种其它主题的文章。所以现在《Go语言101》大约有50篇文章。 ## 你曾经的困惑主要包括哪些方面? 一些困惑是关于一些Go语法和语义设计细节的。一些困惑涉及到某些类型的值,主要是切片,接口和通道类型。另外一些涉及到标准包API的使用细节。 ## 你认为造成你曾经的困惑的主要原因是什么? 我觉得最主要的原因是我当时抱着Go是一门非常简单的语言的态度去学习和使用Go。持有这种态度阻止了我更深刻地理解Go。0 码力 | 821 页 | 956.82 KB | 2 年前3
共 259 条
- 1
- 2
- 3
- 4
- 5
- 6
- 26













