这是我参与「第五届青训营」伴学笔记创作活动的的第1天
本节课涉及的知识点如下
go语言简介
1 go语言的特点
go语言是一种高性能、高并发的语言,它语法简单、学习周期短,拥有丰富的标准库和完整的工具链保证完成,有静态链接的特点,能够快速编译,拥有静态语言中几乎最快的编译速度,可以跨平台,可以在很多操作系统上运行,可以交叉编译,并且带垃圾回收。
2 字节跳动为什么全面拥抱go语言
1.最初使用Python,由于性能问题换成go
2.C++不太适合在线Web业务
3.早期团队非Java背景
4.性能比较好
5.部署简单、学习成本低
6.内部RPC和HTTP框架的推广
go语言语法学习
1 开发环境
go的开发环境主要可以选择vscode或golang,用GitHub在线开发也可以。
2 基础语法
1.hello world
package main
import "fmt"//导入format包,用于格式化输出
func main(){
fmt.Println("hello world")//输出hello world
}
2.变量
go语言中的数据类型有布尔类型和数字类型,数字类型中有整数、浮点数等(没有double类型),
定义变量:
s := 1
var s int =1
第一行是短变量声明,第二行是常规格式。
注意与其他语言有些区别的部分是变量类型写在变量名称后面。
3.if else
和c或c++写法很相似。不同点如下:
if后面的判断条件不需要加括号,if后面只能接大括号,if和else都只能和前大括号在同一行。
4.for
go语言没有while和do while,只有for循环。也可以用for range。
5.switch
go语言switch语句没有break,多个条件之间用逗号隔开。
6.数组和切片
数组与其他语言定义相同。切片是可变长度的数组,有更多丰富的操作。
可以用make创建切片。
7.map
字典,可以用make创建空map。
8.指针
与其他语言的区别是不能偏移和运算。
9.结构体
带类型的字段的结合。
type person struct{
age int
name string
}
上面定义一个person结构体,其中包含int类型的age和string类型的name。