答案见文末
第一题
func testFunc(arr [3]int, slice []int) {
arr[0] = arr[0] * 100
slice[0] = slice[0] * 100
}
func main() {
myArr := [3]int{1, 3, 5}
mySlice := []int{1, 3, 5}
testFunc(myArr, mySlice)
fmt.Println(myArr[0] == mySlice[0])
}
选择题,上面代码输出什么?
-
A
true
-
B
false
第二题
func main() {
a := []int{1, 3, 5, 7, 9}
b := make([]int, 0, len(a))
copy(b, a)
fmt.Println(len(b))
}
上面代码输出什么?
-
A
5
-
B
1
-
C
0
-
D
2
第三题
func main() {
a := make([]byte, 0, 1)
a1 := append(a, 'a')
a2 := append(a, 'b')
fmt.Println(string(a1) == string(a2))
}
选择题,上面代码输出什么?
-
A
true
-
B
false
第四题
func main() {
var a uint = 1
var b uint = 2
fmt.Println(a - b)
}
选择题,上面代码输出什么?
-
A
-1
-
B
1
-
C
0
-
D
uint类型最大值
第五题
func main() {
fmt.Println(0.1+0.2 == 0.3)
a := 0.1
b := 0.2
fmt.Println(a+b == 0.3)
}
选择题,上面代码输出什么?
-
A
true false
-
B
true true
-
C
false false
-
D
false true
第六题
func funcA(n int) func() {
n++
return func() {
fmt.Println(n)
}
}
func funcB(n int) func() {
return func() {
n++
fmt.Println(n)
}
}
func main() {
f1 := funcA(10)
f1()
f1()
f2 := funcB(10)
f2()
f2()
}
选择题,上面代码输出什么?
-
A
11 11 11 11
-
B
11 12 11 12
-
C
11 11 11 12
-
D
11 12 11 11
第七题
func func1() (i int) {
defer func() {
i++
}()
return i
}
func func2() int {
var i int
defer func() {
i++
}()
return i
}
func main() {
fmt.Println(func1(), func2())
}
选择题,上面代码输出什么?
-
A
1 0
-
B
1 1
-
C
0 0
-
D
0 1
第八题
func main() {
t := struct {
time.Time
N int
}{
time.Date(2021, 3, 30, 0, 0, 0, 0, time.UTC),
5,
}
m, _ := json.Marshal(t)
fmt.Printf("%s", m)
}
选择题,上面代码输出什么内容?
-
A
{"Time": "2021-03-30T00:00:00Z", "N": 5}
-
B
"2021-03-30T00:00:00Z"
-
C
{"N": 5}
-
D
<nil>
第九题
func main() {
a1 := []int{10}
a2 := a1[1:]
fmt.Println(a2)
}
选择题,上面代码输出什么内容?
-
A
编译失败
-
B
panic: runtime error: index out of range [1] with length 1
-
C
[]
-
D
其他
第10题
type TypeA struct {
_ struct{}
Num int
}
type TypeB struct {
Num int
_ struct{}
}
func main() {
a := TypeA{Num: 100}
b := TypeB{Num: 100}
fmt.Println(unsafe.Sizeof(a), unsafe.Sizeof(b))
}
选择题,上面代码输出什么内容(运行在64位系统上)?
-
A
8 8
-
B
16 16
-
C
16 8
-
D
8 16
答案:
第一题:B
第二题:C
第三题:A
第四题:D
第五题:A
第六题:C
第七题:A
第八题:B
第九题:C
第十题:D