这是我参与「第五届青训营 」伴学笔记创作活动的第1天
本堂课的知识要点有
前言
- 什么是go语言
- 高性能,高并发
- 语法简单,学习曲线平缓
- 丰富的标准库等
安装配置环境:
配置环境
go下载 +vscode插件下载+安装扩展
配置结果如下:
语法-变量
变量可以通过变量名访问。
Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。这与c/c++同
声明变量的一般形式是使用 var 关键字:
练习如下
import ("fmt" // 导入内置 fmt 包
"math"
)
//变量
func main(){ // main函数,是程序执行的入口
var a = "initial"
var b,c int = 1,2
var d = true
//1
var e float64
var m int = 1
var p = 1000
//
//2
f :=float32(e)
g :=a + "foo"
j :=99
fmt.Println(a,b,c,d,e,f,m,p,j)
fmt.Println(g)
//常量
const s string = "constant"
const h = 500000000
const i = 3e20 /h
const s1 = "gogogo"
fmt.Println(s,h,i,math.Sin(h),math.Sin(i),s1)
}
import ("fmt" // 导入内置 fmt 包
)
//if -else
func main(){ // main函数,是程序执行的入口
if 7%2==0 {
fmt.Println("7 is gaga")
}else{
fmt.Println("7 is gugu")
}
num:=9;
if num < 0 {
fmt.Println(num,"is kk")
}else if num < 10 {
fmt.Println(num,"tt")
}else{
fmt.Println(num,"666")
}
}
import ("fmt" // 导入内置 fmt 包
)
//循环
func main(){ // main函数,是程序执行的入口
i := 1
for{
fmt.Println("loop")
break
}
for j:= 7;j < 9; j++{
fmt.Println(j)
}
for n:=0; n<5;n++{
if n%2 == 0{
continue
}
fmt.Println(n)
}
for i<=3{
fmt.Println(i)
i = i + 1
}
}
Go 语言内置的运算符有:
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
- 其他运算符 函数是基本的代码块,用于执行一个任务。
函数
Go 语言最少有个 main() 函数。
练习
可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。
函数声明告诉了编译器函数的名称,返回类型和参数。
Go 语言标准库提供了多种可动用的内置的函数。例如,len() 函数可以接受不同类型参数并返回该类型的长度。如果我们传入的是字符串则返回字符串的长度,如果传入的是数组,则返回数组中包含的元素个数。 Go 语言中变量可以在三个地方声明:
- 函数内定义的变量称为局部变量
- 函数外定义的变量称为全局变量
- 函数定义中的变量称为形式参数
这与c++/c同
Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。
练习
Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。
Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。它在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 键值对。
格式化字符串
json&go
字符串操作