什么是Go语言
Go语言的优势:
1.高性能,高并发
2.语法简单,学习曲线平缓
3.丰富的标准库
4.完整的工具链
5.静态链接
6.快速编译
7.跨平台
8.垃圾回收
开发环境
1.安装Go语言Golang
2.配置Go语言的编辑器,Vscode或Goland
基础语法
第一行代码
//入口包
import "fmt"
//fmt包是用来输入输出字符串,格式化字符串
func main() {
fmt.Println("你好,世界!")
}
这里的fmt包是用来输入输出字符串,格式化字符串,
变量
变量类型:字符串,整数,浮点型,布尔型
变量声明:var name = "值 " 变量名 : = 值 常量:const(自动确定类型)
if -else
if 条件 { 语句 }else{ 语句 }
循环
只有唯一的for循环 for{}
for j: =7;j<9;;j++
{}
switch
switch a{
case1:
语句
}
数组
很少用
切片
可变长度的数组 使用make去创造一个切片 append方法 切片操作:可以像python一样去实现切片操作
map()
make(map()())创建 Go语言的map是完全无序的,遍历的时候是不会排序的,是随机顺序
range
快速遍历,range遍历会返回两个值,一个索引一个值,可以用下划线来省略索引
函数
func() 原生支持返回多个值
指针
*与 & 主要用于对传入参数的修改
结构体
带类型的字段的集合,支持指针 type tset struct{ }
结构体方法
类似于类成员函数
错误处理
可以使用if-else处理错误。可以在函数的返回值类型里面加一个error,代表这个函数可能会返回错误
字符串操作
strings包里面字符串工具函数
字符串格式化
json处理
对于已有的结构体,只要保证每个字段第一个字母是大写,那么这个结构体就能用json.marshaler去序列化。
时间处理
time库里面的方法
数字解析
字符串和数字类型之间的转化都在STR conv这个包。