GO语言101问(7)

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

A str := 'abc' + '123'

B str := "abc" + "123"

C str := '123' + "abc"

D fmt.Sprintf("abc%d", 123)

答案是:BD,除了上面的连接方式还有strings.Join()、buffer.WriteString()等。

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

package main

import "fmt"

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

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

输出为:

$ go run main.go
0 2 ZZ ZZ 5

知识点:iota默认值是0,然后以此增加。

3.下面赋值正确的是?

A var x = nil

B var x interface{} = nil

C var x string = nil

D var x error = nil

答案是:BD,nil只能赋值给指针、chan、func、interface、map或者slice类型的变量。

猜你喜欢

转载自blog.csdn.net/random_w/article/details/103120835