go语言基础类型
- 字符串
- 整数
- 浮点型
- 布尔型
定义变量:
var 变量 = ''
自动推导类型
f := ''
两种方式
常量没确定类型
const
if,else:
不用写括号,后直接跟大括号
没有while循环,只有for:
for == while
switch:
后不加()
后不用加break;
可以switch()里不加任何东西,在case里写条件语句
var a [5]int
切片:(可见长度数组)
s := make([]string,3)
s[1] = "a"
s = append(s, "d")
fmt,Println(s[2:5])
map:
m := make (map [string] int)
r, ok := m["unknow"]// 0, false
range:
nums是数组时:
for i, num := range nums // i 索引, num 值
m是map时:
m := map[string]int
for k, v := range m //k是 key,v是value
go语言特点:变量类型后置
指针与C语言指针一样
结构体:
type user struct {
n string
p string
}
a := user{n:"a" , p:"b"}
b := user{"a" , "b"}
c := user{n:"a"}
c.p = "115"
var d
d.n = "a"
d.p = "b"
结构体方法:
func (u user) checkP (p string) bool{
return u.p == p
}
a.checkP("112") //false
错误处理:
函数返回类型加上 err error
func finduser(users []user,name string)(v *user,err error){
for _,u := range users
if u.name == name{
return &u,nil
}
return nil,errors.New("not found")
字符串操作:
格式化:
json处理:
type userInfo struct{
Name string
Age int 'json:"age"'
Hobby []string
}
属性首字母大写即可用json.Marshal()处理
a := userInfo{Name:"wang",Age:18,Hobby:[]string{"Golang","TypeScript"}}
buf,err := json.Marshal(a)
fmt.Println(buf)//[123 34 78 97...] 十六进制编码
fmt.Println(string(buf))//{"Name":"wang","age":18,"Hobby":"Golang","Typescript"])
时间处理:
数字解析:
进程处理:
总结:
由于本次课程大多是介绍go的基本语法,所以就比较少有特别注意的地方,这些知识都是记住多用就好,所以就整体看起来很shui,都是代码。但我想,多放些课程中的例题也能很好的查看语法,及时巩固知识。