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类型的变量。