这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记
第一节:Go语言上手-基础语言
Go语言的一些特性
- 高性能、高并发
- 语法简单、学习曲线平滑
- 丰富的标准库
- 完善的工具链
- 静态链接
- 快速编译
- 跨平台
- 调度、内存分配、垃圾回收
Go最为人所称道的就是它方便敏捷的高并发开发特点,通过轻量的用户级线程(协程)帮助使用者实现稳定易用的高并发;
与Python类似,Golang有许多开源易用的库,协助高效开发,且有许多重大开源项目用Go作为开发语言,比如当下较火的国产分布式关系数据库TIDB以及时序数据库InfluxDB;
Go的调度机制、内存分配机制以及垃圾回收机制也是非常值得注意的一大特点,正是基于这三个机制,golang每个协程的大小和执行效率才能得到控制,高并发的特性才能够得到保障
快速入门
关键字
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
语法不同点
Go语句一般无需“ ; ”结尾
Go删除了while,使用for来完全代替while
Go语言声明变量与C++最大的不同在于:变量类型在最后,此外在类中只有当变量名首字母为大写才算作公共变量
三种变量声明方式:
Var name string = “wys”
Var age = 18 (有变量可以无需显示声明类型)
Gender := 1 (可以用“:=”表示创建变量,但是全局变量不能这么声明)
常量声明用const来代替var的位置:
const pi = 3.1415
Go只有强制类型转换没有隐式类型转换:
c = int64(d)
Range
go中的 range,可以凭此遍历数组、切片、字符串、map、通道。其中,数组、切片、字符串返回索引和值,map返回键、值, channel只返回值