一次糟糕的golang面试体验

airun ·
第一题的代码有两处错误: 1. string是immutable的,不能改变,编译出错:cannot assign to str[1] 2. 赋值语句左边是 []byte 的元素,同属byte类型,而右边是字串类型,同样也会编译出错:cannot use "b" (type string) as type byte in assignment
#13
更多评论
这个面试官有点2b
#1
这个面试官第二题肯定是错了。他测试少了 ``` package main import ( "fmt" "time" ) func main() { m := map[string]int{ "a":1, "b":2, "c":3, } for k,v := range m { go func(kk * string,vv * int) { fmt.Printf(" %v , %v \n",*kk,*vv) }(&k,&v) //d } // this is fine 3 time.Sleep(1 * time.Second) } ``` 多运行几次能够得到三种不同结果 b,2 b,2 b,2 c,3 c,3 c,3 a ,1 a ,1 a ,1 ```
#2