这是我参与「第五届青训营」伴学笔记创作活动的第 1 天,老师主要讲解了Go语言的特点、优势,以及一些基础语法等。
什么是Go语言
Go语言是谷歌出品的一门通用型计算机编程语言。它具有以下特点👇
Go语言特点
1、高性能、高并发(媲美C++)
2、语法简单、学习曲线平缓(语言风格类似C语言)
3、丰富的标准库
4、完善的工具链
5、静态链接
6、快速编译
7、跨平台
8、垃圾回收
字节跳动为什么全面拥抱Go语言
1、最初使用的Python,由于性能问题换成了Go
2、C++不太适合在线Web业务
3、早期团队非Java背景
4、性能比较好
5、部署简单、学习成本低
6、内部RPC和HTTP框架的推广
入门
开发环境·安装Golang
go.dev
studygolang.com/dl
goproxy.cn
开发环境·配置集成开发环境
可使用VSCode,直接从官网下载安装即可,但需要在左侧扩展栏中搜索Go插件,然后安装。
基础语法
Hello World
package main
import{
"fmt"
}
func main(){
fmt.Println("hello world")
}
fmt包主要用于向屏幕输入输出格式化字符串。
变量
Go语言是一门强类型语言,每一个变量都有它自己的变量类型。
package main
import{
"fmt"
"math"
}
func main(){
var a = "initial"
var b,c int = 1,2
var d = true
var e float64
f := float32(e)
fmt.Println(a,b,c,d,e,f) //initial 1 2 true 0 0
}
if else
package main
import "fmt"
func main(){
if 7%2 == 0{
fmt.Println("7 is even")
}else{
fmt.Println("7 is odd")
}
}
循环
在Go语言中,没有while循环,也没有do while循环,只有唯一一种for循环。
package main
import "fmt"
func main(){
i := 1
for{
fmt.Println("loop")
break
}
for j:= 7;j < 9;j++{
fmt.Println(j)
}
for i <= 3{
fmt.Println(i)
i = i + 1
}
}
switch
package main
import "fmt"
func main(){
a := 2
switch a{
case 1:
fmt.Println("1")
case 2:
fmt.Println("2")
case 3:
fmt.Println("3")
case 4,5:
fmt.Println("4 or 5")
default:
fmt.Println("other")
}
}
这里有一个很大的不同点,那就是在C++里面,如果不写break的话,会继续往下跑完所有的case分支。但在Go中,默认是不需要加的,不会去跑其他的分支。