1.关于字符串连接,下面语法正确的是?

  • A. str := ‘abc’ + ‘123’
  • B. str := “abc” + “123”
  • C. str := ‘123’ + “abc”
  • S. fmt.Sprintf(“abc%d”, 123)

参考答案:BD

参考解析:考的知识点是字符串连接。除了以上两种连接方式,还有 strings.Join()、buffer.WriteString()等。

2.下面这段代码能否编译通过?如果可以,输出什么?

const (
	x = iota
	_
	y
	z = "zz"
	k 
	p = iota
)

func main()  {
	fmt.Println(x,y,z,k,p)
}

参考答案:编译通过,输出:0 2 zz zz 5

参考解析:知识点 iota。 参考 https://www.cnblogs.com/zsy/p/5370052.html

3.下面赋值正确的是()

  • A. var x = nil
  • B. var x interface{} = nil
  • C. var x string = nil
  • D. var x error = nil

参考答案及解析:BD。这道题考的知识点是 nil。nil 只能赋值给指针、chan、func、interface、map 或 slice 类型的变量。强调下 D 选项的 error 类型,它是一种内置接口类型,看它的源码就知道,所以 D 是对的。

type error interface {
	Error() string
}



(全文完)

扫码关注领取学习资料!