go语言语法备忘

这篇文章会不断的更新,我会记录我在使用过程中一时想不起的语法。

数组
//给二维数组中追加值
var ResRow [][]int
res_col := make([]int, len)
ResRow = append(ResRow,res_col)

二维数组初始化值

row, column := 3, 4
    var answer [][]int
    for i := 0; i < row; i++ {
        inline := make([]int, column)
        answer = append(answer, inline)
    }
    fmt.Println(answer)

    // 方法1
    answer1 := make([][]int, row)
    for i := range answer1 {
        answer1[i] = make([]int, column)
    }
    fmt.Println(answer1)

深度比较多维数组

reflect.DeepEqual(y, table.y)
集合操作
map
//声明后再赋值
	m1 := make(map[string]string)
	m1["name"] = "编程三分钟"
	fmt.Println(m1["name"])

//声明时赋值
	m1 := map[string]string{
		"name":"编程三分钟",
	}
	fmt.Println(m1["name"])

map的遍历

// 需要携带 value
   for name,score := range fruits{
       fmt.Println(name, score)
   }
   // 只需要key
   for name := range fruits{
       fmt.Println(name)
   }

map中是否存在某个key

//这也是If的一种不错的用法
if _,ok := map1[key1];ok {
    //....
}

删除key,不存在也不会报错

delete(map1,"coding3min")
类型转换
string与byte的转换
//string  to bytes
resBytes := []byte("asdfasdf")
//bytes to string
resString := string(resBytes)
循环
for 循环
for i := 0; i < 10; i++ {
    fmt.Printf("%d ", i)
}
//死循环
for {
     break;
}
foreach
//遍历key value 注意复制的是副本
 for k, v := range x {
        fmt.Println(x[k]==v)
    }
//遍历key
 for k := range x {
        fmt.Println(x[k])
    }
json
序列化和反序列化
//生成json对象(map类型)
resJsons, err := json.Marshal(&jsonStruct)
//转string
req_str = string(resJsons)
//反序列化
err := json.Unmarshal([]byte(req_str), &jsonStruct)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机智的程序员小熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值