文章第一句话为“这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天
go特点
1,高性能,高并发
2,语法简单,学习曲线平缓
3,丰富的标准库
4,完善的工具链
5,静态链接
6,快速编译
7,跨平台
8,垃圾回收
go 入门
安装
官网:go.dev/
国内镜像网:studygolang.com/dl
github提速:goproxy.cn/
配置集成开发环境
vs code
基础语法
package main //文件属于main包的一部分,是入口文件。
import{ //导入了formatch包,目的是向屏幕输入输出字符串,格式化字符串。
"fmt"
}
func main(){//main函数
fmt.Println("hello word")
}
编译:
-->go run example/01-hello/main.go\
hello world\
-->go build example/01-hello/main.go\
-->./main
变量
go是强类型语言
字符串是内置类型,可以通过+来拼接
声明变量:var a="initial"或者var b,c int =1,2或者f:=float32(e)
常量:const s string="constant",常量没有确定的类型,是根据上下文来确定\
语句
if else
if 7%2==0{
内容
}
循环:没有while,do-while只有唯一的for
死循环:
for{
内容
}
正常循环:for后的3个可以省略
for j:=7;j<9;j++{
内容
}
switch:case后不需要加break,可以取代if-else
switch a {
case 1:
fmt.Println("one")
case 2:
fmt.Println("two")
default:
fmt.Println("other")
}
数组
var a[5] int
a[4] =100
fmt.Println(a[3],len(a))
切片
s:=make([]string,3)
map
随机
m:=make(map[string]int)
m["one"]=1
fmt.Println(m)
delete(m,"one")
range
遍历。返回两个值,第一个值是索引,第二个是值。
for i,num:=range nums{}
函数
变量类型是后置的。
返回两个值时第一个是真正的返回结果,第二个是错误信息
func add(a int,b int) int{
return a+b
}
指针
用于对传入信息进行修改。
func add2(n *int){*n+=2}
func main(){add2(&n)}
结构体
type user struct{ name string password string } d.name="wang"
字符串格式化
fmt.Printf("s=%v\n",s)
fmt.Printf("s=%+v\n",s)
fmt.Printf("s=%#v\n",s)