• 评论了面试题 Go每日一题(42)
    Go语言的类型机制更加严格,没有隐式类型转换,所以不同类型的数据不能直接参与同一个运算。
  • 评论了面试题 Go每日一题(38)
    输出结果不唯一,代码存在风险, 所有 go 语句未必都能执行到。 这是使用 WaitGroup 经常犯下的错误!请各位同学多次运行就会发现输出都会不同甚至又出现报错的问题。 这是因为 go 执行太快...
  • 评论了面试题 Go每日一题(37)
    空读写阻塞,写关闭异常,读关闭空零
  • 评论了面试题 Go每日一题(37)
    15字口诀:“空读写阻塞,写关闭异常,读关闭空零”,往已经关闭的 channel 写入数据会 panic。
  • 评论了面试题 Go每日一题(36)
    func GetValue() interface{} { return 1 } func main() { i := GetValue() switch i.(type) { case i...
  • 评论了面试题 Go每日一题(36)
    答案及解析:编译失败。考点:类型断言,类型断言的语法形如:i.(type),其中 i 是接口,type 是固定关键字,需要注意的是,只有接口类型才可以使用类型断言。
  • 评论了面试题 Go每日一题(30)
    所以应该改成 var peo People = &Student{} 即可编译通过。(People 为 interface 类型,就是指针类型)
  • 评论了面试题 Go每日一题(29)
    参考答案及解析:BD。这道题考的知识点是 nil。nil 只能赋值给指针、chan、func、interface、map 或 slice 类型的变量。强调下 D 选项的 error 类型,它是一种内置...
  • 评论了面试题 Go每日一题(22)
    参考答案:不能通过编译。 参考解析:这道题的主要知识点是变量声明的简短模式,形如:x := 100. 但这种声明方式有限制: 必须使用显示初始化; 不能提供数据类型,编译器会自动推导; 只能在函数...
  • 评论了面试题 Go每日一题(21)
    [0 0 0 0 0 0 0 0 0 0 1 2 3]
  • 评论了面试题 Go每日一题(20)
    s1 = append(s1, s2...)
  • 评论了面试题 Go每日一题(17)
    结构体是相同的,但是结构体属性中有不可以比较的类型,如map,slice,则结构体不能用==比较。
  • 评论了面试题 Go每日一题(15)
    Go 中定义了一个特殊的静态数组,该数组由 256 个整数组成(0 到 255)。当必须分配内存以将整数存储在堆上,并将其转换为接口的一部分时,它首先检查是否它可以只返回指向数组中适当元素的指针。这种...
  • 评论了面试题 Go每日一题(14)
    | 操作是按位或操作符,它的操作数只能是整数,而上面这道题的操作数是 float64,因此编译不通过。
  • 评论了面试题 Go每日一题(13)
    不能通过编译。append() 的第二个参数不能直接使用 slice,需使用 … 操作符,将一个切片追加到另一个切片上:append(s1,s2…)。或者直接跟上元素,形如:append(s1,1,2...
  • 评论了面试题 Go每日一题(7)
    这个问题,相当于问:可以对 map 的元素直接取地址吗?无法对map了地址
  • 评论了面试题 Go每日一题(7)
    这个问题,相当于问:可以对 map 的元素直接取地址吗?
  • 评论了面试题 Go每日一题(6)
    答案:第二个返回值没有命名。
  • 评论了面试题 Go每日一题(3)
    😀
  • 评论了面试题 Go每日一题(3)
    多说一句,“迭代 map 的结果是无序的”这个特性是从 go 1.0 开始加入的。
  • 评论了面试题 Go每日一题(1)
    0 -> 3 1 -> 3 2 -> 3 3 -> 3
  • 评论了面试题 Go每日一题(104)
    参考答案及解析:s2 的输出结果错误。 s2 的输出是 &{C} &{C} &{C},在前面题目我们提到过,for range 使用短变量声明(:=)的形式迭代变量时,变量 ...
  • 评论了面试题 Go每日一题(103)
    当 range 表达式发生复制时,副本的指针依旧指向原底层数组
  • 评论了面试题 Go每日一题(90)
    答案解析: 参考答案及解析:B。 编译错误 Student does not implement People (Speak method has pointer receiver),值类型 Stu...
  • 评论了面试题 Go每日一题(86)
    func main() { m := map[int]string{0:"zero",1:"one"} for k,v := range m { fmt.Pri...
  • 评论了面试题 Go每日一题(84)
    func main() { s1 := []int{1, 2, 3} s2 := s1[1:] s2[1] = 4 fmt.Println(s1) s2 = append(s2, 5, 6,...
  • 评论了面试题 Go每日一题(74)
    package main import "fmt" func app() func(string) string { t := "Hi" c := func(b...
  • 评论了面试题 Go每日一题(40)
    m 是一个 map,值是 nil。从 nil map 中取值不会报错,而是返回相应的零值,这里值是 int 类型,因此返回 0。 但是但是,向nil的map set值是会报错的,必须先用make才能...
  • 评论了面试题 Go每日一题(25)
    参考答案:BD 参考解析:考的知识点是字符串连接。除了以上两种连接方式,还有 strings.Join()、buffer.WriteString() 等。
  • 评论了面试题 Go每日一题(22)
    答案解析: 参考答案:不能通过编译。 参考解析:这道题的主要知识点是变量声明的简短模式,形如:x := 100. 但这种声明方式有限制: 必须使用显示初始化; 不能提供数据类型,编译器会自动推导;...
  • 评论了面试题 Go每日一题(21)
    [0 0 0 0 0 0 0 0 0 0 1 2 3]
  • 评论了面试题 Go每日一题(18)
    常量无内存地址的
  • 评论了面试题 Go每日一题(15)
    答案:小整数转换为接口值不再需要进行内存分配。小整数是指 0 到 255 之间的数。
  • 评论了面试题 Go每日一题(14)
    | 操作是按位或操作符,它的操作数只能是整数,而上面这道题的操作数是 float64,因此编译不通过。
  • 评论了面试题 Go每日一题(13)
    append(s1,s2…)
  • 评论了面试题 Go每日一题(12)
    不能通过编译,new([]int) 之后的 list 是一个 *[]int 类型的指针,不能对指针执行 append 操作。可以使用 make() 初始化之后再用。同样的,map 和 channel ...
  • 评论了面试题 Go每日一题(11)
    1:new 返回对象的指针 2:make 只能初始化 channel map slice
  • 评论了面试题 Go每日一题(10)
    import –> const –> var –> init() –> main()
  • 评论了面试题 Go每日一题(6)
    第二个返回值没有命名。
  • 评论了面试题 Go每日一题(4)
    代码 1 输出:[0 0 0 0 0 1 2 3] 代码 2 输出:[1 2 3 4]
  • 评论了面试题 Go每日一题(108)
    参考答案及解析:A。 知识点:多重赋值。 多重赋值分为两个步骤,有先后顺序: 计算等号左边的索引表达式和取址表达式,接着计算等号右边的表达式; 赋值;
  • 评论了面试题 Go每日一题(104)
    value是一个变量, 使用value的指针,所以s2都会是c
  • 评论了面试题 Go每日一题(103)
    r = [1 12 13 4 5] a = [1 12 13 4 5] 这道题是昨天第二题的一个解决办法,这的 a 是一个切片,那切片是怎么实现的呢?切片在 go 的内部结构有一个指向底层数组的指...
  • 评论了面试题 Go每日一题(101)
    //1,2,3,4,5 fmt.Println("r = ", r) //1,12,13,4,15 fmt.Println("a = ", a) range...
  • 评论了面试题 Go每日一题(97)
    看清楚这行代码, := 不是 = p, err := foo()
  • 评论了面试题 Go每日一题(96)
    go 中不同类型是不能比较的,而数组长度是数组类型的一部分,所以 [...]int{1} 和 [2]int{1} 是两种不同的类型,不能比较; 切片是不能比较的; 数据是可以比较的, 但是类型和长度...
  • 评论了面试题 Go每日一题(94)
    参考答案及解析:B,编译报错 cannot assign to struct field m["foo"].x in map。错误原因:对于类似 X = Y的赋值操作,必须知道 X 的...
  • 评论了面试题 Go每日一题(91)
    参考答案及解析:0 1 1 2。 知识点:iota 的用法。 iota 是 golang 语言的常量计数器,只能在常量的表达式中使用。 iota 在 const 关键字出现时将被重置为0,con...
  • 评论了面试题 Go每日一题(89)
    基于类型创建的方法必须定义在同一个包内,上面的代码基于 int 类型创建了 PrintInt() 方法,由于 int 类型和方法 PrintInt() 定义在不同的包内,所以编译出错。解决的办法可以定...
  • 评论了面试题 Go每日一题(88)
    如果 len 或 cap 的函数参数 v 是字符串常量,则返回值是一个常量。 如果 v 的类型是数组或指向数组的指针,且表达式 v 没有包含 channel 接收或(非常量)函数调用,则返回值也是一...