Go语言设计与实现 学习笔记 第一章 介绍

Go语言设计与实现

Go语言是Google在2009年12月发布的编程语言,目前的Go语言在国内外的社区都非常热门,很多著名的开源框架Kubernetes(K8s,一个开源的容器编排平台,它旨在简化容器化应用程序的部署、扩展和管理)、etcd(一个开源的分布式键值存储系统)和prometheus(一个开源的系统监控和警报工具包)等都使用Go语言进行开发,近年来热门的微服务架构和云原生技术也为Go语言社区带来了非常多的活力。

作者目前也使用Go语言作为日常开发的主要语言,虽然Go语言没有Lisp系语言的开发效率和强大表达能力,但却是一门非常容易使用并且大规模运用的工程语言,这也是作者学习和使用Go语言的主要原因。

关于本书

这本书介绍的主要内容其实就是Go语言内部的实现原理,目前的大纲包含以下的八个章节,在编写的过程中还是会对内容的编排顺序和方式进行修改:

虽然文章的目录结构可能会改变,但是你一定会通过这本书了解到Go语言相关的以下内容:

1.从词法语法解析、类型检查、中间代码生成以及机器码生成的编译相关全链路;

2.数组、哈希表和字符串等数据结构的表示以及基本操作的实现原理;

3.理解Go语言中的函数、方法、闭包和上下文等语言特性;

4.常见并发编程使用的WaitGroup、Once以及互斥锁等结构的实现;

5.语言中的万能类型interface的实现原理;

6.各种关键字make、new、defer、select以及for循环的处理过程;

7.Goroutine和Channel相关的结构、调度策略以及原理;

8....

相关推荐
Rabitebla11 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
Gary移动存储固件12 小时前
eMMC5.1协议中文学习讲解(6.6.17~6.6.22.4.6)
学习·ufs·emmc·nand·存储固件
一个天蝎座 白勺 程序猿13 小时前
别让收藏夹替你学习:我搭AI知识体系的完整方法,脚本直接拿去用
人工智能·学习·ai·ai学习
楚山之石13 小时前
【Nat Biomed Eng】Connectome 2.0 超高梯度扫描仪:500 mT/m 与 600 T/m/s 把活体人脑微观结构分辨推进到亚微米级
图像处理·学习·数据分析·mri
坤坤子吖16 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
YLCHUP20 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
LGL6030A20 小时前
Java学习历程31——初识Spring Boot
java·spring boot·学习
阿达和自己21 小时前
springboot学习-springboot引入MyBatis-Plus
spring boot·学习·mybatis
旖旎夜光1 天前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
程序员Query1 天前
day01-认识Go语言 + golang环境的安装
开发语言·后端·golang