首页| 行业标准| 论文文档| 电子资料| 图纸模型
购买积分 购买会员 激活码充值

您现在的位置是:团子下载站 > 其他 > GO专家编程的PDF电子书免费下载

GO专家编程的PDF电子书免费下载

  • 资源大小:3.92 MB
  • 上传时间:2021-11-01
  • 下载次数:0次
  • 浏览次数:54次
  • 资源积分:1积分
  • 标      签: 数据结构 UNIX 内存

资 源 简 介

channel是Golang在语言层面提供的gorouTIne间的通信方式,比Unix管道更易用也更轻便。channel主要用于进程内各gorouTIne间通信,如果需要跨进程通信,建议使用分布式系统的方法来解决。本章从源码角度分析channel的实现机制,实际上这部分源码非常简单易读。从数据结构可以看出channel由队列、类型信息、gorouTIne等待队列组成,下面分别说明其原理。chan内部实现了一个环形队列作为其缓冲区,队列的长度是创建chan时指定的。下图展示了一个可缓存6个元素的channel示意图:dataqsiz指示了队列长度为6,即可缓存6个元素;buf指向队列的内存,队列中还剩余两个元素;qcount表示队列中还有两个元素;sendx指示后续写入的数据存储的位置,取值[0,6);recvx指示从该位置读取数据,取值[0,6);《Go专家编程》深入地讲解了Go语言常见特性的内部机制和实现方式,大部分内容源自对Go语言源码的分析,并从中提炼出实现原理。通过阅读本书,读者可以快速、轻松地了解Go语言的内部运作机制。本书首先介绍Go语言常见的数据结构及控制结构的实现原理,包括管道、切片、Hash表、select和for-range等,这部分内容大都以几个精心准备的测验题目开头,每个测验题目均对应一个知识点,读者可以借此测验自身对该知识点的掌握程度。接着介绍了Go语言最基础的概念,包括协程的概念、协程调度模型、协程调度策略,以及内存分配和垃圾回收相关的内容。本书还介绍了一些标准库、异常处理和依赖管理等非语法相关但非常重要的内容。最后结合作者的见闻,整理了一些发生在真实项目中的编程陷阱。
VIP VIP