最近发表的话题
最近发表的评论
  • Go 陷阱之 for 循环迭代变量 at 2个月前

    @sdjdd 确实如你所说,测试代码如下,但是由于 map 无序随机的特性,所以往源 map 中新添加的键值对,未必会在迭代中出现。

    package main
    
    import (
        "fmt"
    )
    
    func main() {
    
        fmt.Println("--- map 测试:")
        var m= make(map[int]string)
        m[0] = "0"
        m[1] = "1"
    
        fmt.Printf("%#v \n", m)
    
        for k, _ := range m {
            m[2] = "2"
            fmt.Printf("%d , %#v \n", k, m)
        }
        fmt.Printf("%#v \n\n", m)
    
        fmt.Println("--- slice 测试:")
        var arr= []string{"0", "1"}
        fmt.Printf("%#v \n", arr)
    
        for i, _ := range arr {
            arr = append(arr, "3")
            fmt.Printf("%d , %#v \n", i, arr)
        }
        fmt.Printf("%#v \n", arr)
    }

    由于 map 循环时的特性,结果会有随机性,可自行测试。

    我会修正上面的表述。

  • Go 陷阱之 for 循环迭代变量 at 3个月前

    前两天面试,也被这个初级问题坑了,借博主文章回顾总结下:

    for i, v := range
    • i, v都是只创建一次,然后循环中赋值。
    • 循环的Map,golang 为避免开发者循环时问题,所以特意在循环中打乱排序
    • 循环的数组,是在开始前的镜像,循环中添加或移除元素不改变其循环次数。
    • 循环的Map,由于其随机特性,循环中添加或移除元素不能确定是否改变循环次数
  • [北京][15k-50k] 京东商城诚聘 PHP 工程师 / 架构师, 8号线, 15号线双地铁 at 1年前

    @dashwoods 三年后的还吃学历吗?

  • [求职][远程] 个人简历,全栈工程师,欢迎大家给点建议 at 1年前

    厉害了