Go语言
一、环境安装
-
下载go语言
下载地址:go.dev/
查看go语言版本:
-
VS Code安装go插件
VS Code报错:
解决方法:
cmd执行以下命令,然后重启VS Code并执行Install
#开启代理设置
go env -w GO111MODULE=on
#设置代理源
go env -w GOPROXY=https://goproxy.cn,direct
二、基础语法
-
Hello World
package main import "fmt" func main() { fmt.Println("Hello World") } -
=,:=
=,赋值;
:=,声明变量并赋值
-
变量
var
-
常量
const
-
if else
if 条件{ }else{ } -
循环
//死循环 for { } //条件循环 for 条件{ } -
switch
switch 变量{ case 值1: 操作1 (隐藏break操作) case 值2: 操作2 ...... default: 操作n } switch{ case 条件: 操作1 default: 操作n } -
数组
-
slice切片(可变长度数组)
s:=make([]string,3)//创建切片,3为长度 或s:=[]string{"a","b","c"} s=append(s,"d","e")//追加切片 copy(目标切片,源切片)//拷贝切片 len(s)//长度 s[2:4]//左闭右开,[c,d] s[:4]//即s[0,4],[a,b,c,d] s[2:]//即s[2,len(s)],[c,d,e] -
map(无序)
m:=make(map[key数据类型]value数据类型) 或m:=map[key数据类型]value数据类型{键值对1,键值对2...} m[key]=value r,ok:=m[不存在的key]//r=0(int初始0),ok=false,ok用于接收key是否存在 delete(m,key)//删除键值对 -
range
常用于遍历数组,slice和map
//数组 for index,value:=range s{ 打印数组下标index,值value } //map for key,value:=range m{ 打印key,value } -
函数
func 函数名 (){ //无返回值 } func 函数名 (形参1 形参数据类型,形参2 形参数据类型...) 返回数据类型{ return 值 } func 函数名 (形参1 形参数据类型,形参2 形参数据类型...) (返回数据类型1,返回数据类型2...){ return 值1,值2... } -
指针
func add1(n int){ n+=1; } func add(n *int){ *n+=1; } func main(){ n:=5 add1(n)//5 add2(&n)//7 } -
结构体
type user struct{ name string password string } func main{ user1:=user{name:"Tom",password:"123"} 打印user1.name//Tom } -
JSON处理
type user struct{ Name string Password string } func main(){ buf,err:=json.Marshal(json对象)//序列化,转化为[]byte 打印buf 打印string(buf) } -
时间处理
time.Now()//当前时间 time.Date(2023,5,13,20,53,0,time.UTC) t.Formate("2006-01-02 15:04:05")//格式化 t.Unix()//时间戳