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類型的變量。