这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
本堂课重点内容
本期青训营讲述主要知识点
- go语言上手-基础语言:主要讲述基础语法、入门实战
- go语言上手-工程实践:主要讲述并发编程、依赖管理、单元测试、项目实战
- 高质量编程与性能调优实战:主要讲述编码规范、性能管理、单元测试、项目实战
- 高性能go语言发行版优化与落地实践:主要讲述自动内存管理、go内存管理及优化、编译器和静态分析、go编译器优化
go语言如何快速上手
- 对go语言的基础语法进行快速了解学习,最好是通过一本语法入门书籍-推荐go语法圣经
- 快速过一遍标准库,知道常见的标准库的用法,标准库的掌握可以让我在编写程序的时候更加快捷,不必考虑算法的实现,只需会调用即可
- 过一遍各种资料索引、awesome list,了解go语言各个领域生态
- 跟着一些实践课程,基于主流框架试着做一些小型项目
本节课程的主要知识点
- 简介:go语言性能特点:高性能、高并发;语法简单、学习曲线平缓;丰富的标准库;完善的工具链;静态链接;快速编译;跨平台;垃圾回收。
- go语言使用公司:字节、腾讯等
- 开发环境:VScode,golang收费不予采用,下载vscode并配置环境,下载go插件,git安装包,如果下载较慢可以使用VPN速度正常。
4. 调试VScode,观察是否配置正确
创建项目,并新建go程序文件运行程序
`package main
import "fmt"
func main() { fmt.Println("hello world") }`
输入go build建立二进制程序包,并将其拖拽至终端显示hello world
基础语法
- 四种类型的声明语句:var、const、type和func,分别对应变量、常量、类型和函数实体对象的声明。
- 数值类型变量对应的零值是0,布尔类型变量对应的零值是false,字符串类型对应的零值是空字符串,接口或引用类型(包括slice、指针、map、chan和函数)变量对应的零值是nil
- 简短变量声明语句:=用于变量声明和初始化,=用于变量赋值
- 表达式new(T)将创建一个T类型的匿名变量,初始化为T类型的零值,然后返回变量地址,返回的指针类型为
*T - 自动垃圾收集器:基本的实现思路是,从每个包级的变量和每个当前运行函数的每一个局部变量开始,通过指针或引用的访问路径遍历,是否可以找到该变量。如果不存在这样的访问路径,那么说明该变量是不可达的,也就是说它是否存在并不会影响程序后续的计算结果。根据是否可达分配存储位置。
++递增和--递减语句(译注:自增和自减是语句,而不是表达式- Celsius(t)和Fahrenheit(t)是类型转换操作,它们并不是函数调用
总结
本次课程主要对语法知识进行了讲解,对Go的整体有了一个初步影响,后续需要继续学习,巩固完善相关知识点。