5.12视频学习笔记——关于go语法基础内容

50 阅读2分钟

一、Var

声明变量的关键字

二、var 与:=
前者一般用与全局变量后者一般用于局部变量;使用:=相当于省去了var type的声明

三、if a>2{
}

四、for 循环
continue继续循环,break跳出循环

五、switch case(可以代替任何的条件语句,case可以用多种类型像字符串甚至结构体等,不加括号)

六、数组 :var a [5]int  数组用的少切边更常用

七、切片是一个可变长度的数组
S:=make([]string,3)   可以用append()追加元素但结果必须赋值回原数组,因为append后一数组扩容返回新的slice

Copy(newarray,oldarray)  将old复制到new
sliceA[2:10]  注意左闭右开,返回第三个到第十个

 

八、Map 与range

Map

m:=make(map[string]int)

m[“one”]=1

r,ok :=m[“unknow”]   //返回的是最后一次出现的值,有则true无则false

delete(m,“one”)

 

   for k,v :=range m{

fmt.println(k,v

}

 

九、函数

变量类型,返回类型后置

十、指针

十一、  结构体:带类型字段的集合

Type user struct{

Name string

Password string}

A:=user{name:“shui”,password:“1234”}

var d user

d.name=“sfjoi”

fmt.println(A.name,A.password)

十二、结构体方法

Func (u *user) resetpassword(password string){   //使得普通函数变成类成员函数

//带指针能够对结构体进行修改

u.password=password

}

 

A.resetpassword(“4567”)   //与C一样和java的实例化获取类的方法好像不一样额

 

十三、错误处理

一般用判断语句 if err!=nil{ } nil可以认为是空,不等表示有异常  

十四 字符串格式化与常用方法

 

Fmt.Printf(“s=%v”,s)  //注意s可以为字符串、整型、{1,2}

Fmt.printf(“s=%+v”,s)  //加上字段名

Fmt.printf(“s=%#v”,s)   //加上构造的结构体名

 

Fmt.printf(“%.2f\n”,f)  //将f保存两位小数

 

Str.Contains(a,“ll”)

Str.Count(a,“l”)

HasPrefix(),join(),len(),tolower ..

 

十五、json

buf,err=json.Marshal(a) //加判断 ;err=json.Unmarshal(buf,b)//加判断语句;

 

十六、时间处理

Now:=time.Now()

T:=time.Date(2022,3,27,2,30,30,0,time.UTC)

Diff:=T2.sub(T1)   //两个变量的间隔时间

 

十七、数字解析

 F,_=strconv.ParseFloat(“1234”,10,64) //10表示进制,64表示精度

N2,_=strconv.Atoi(“1213”)  // 10进制字符串转化为数字

 

十八、进程信息