1.【初级】声明一个整型变量i__________
参考答案:var i int
2.【初级】声明一个含有10个元素的整型数组a__________
参考答案:var a [10]int
3.【初级】声明一个整型数组切片s__________
参考答案:var s []int
4.【初级】声明一个整型指针变量p__________
参考答案:var p *int
5.【初级】声明一个key为字符串型value为整型的map变量m__________
参考答案:var m map[string]int
6.【初级】声明一个入参和返回值均为整型的函数变量f__________
参考答案:var f func(a int) int
7.【初级】声明一个只用于读取int数据的单向channel变量ch__________
参考答案:var ch <-chan int
8.【初级】假设源文件的命名为slice.go,则测试文件的命名为__________
参考答案:slice_test.go
9.【初级】 go test要求测试函数的前缀必须命名为__________
参考答案:Test
10.【中级】下面的程序的运行结果是__________
for i := 0; i < 5; i++ {
defer fmt.Printf("%d ", i)
}
参考答案:4 3 2 1 0
11.【中级】下面的程序的运行结果是__________
func main() {
x := 1
{
x := 2
fmt.Print(x)
}
fmt.Println(x)
}
参考答案:21
12.【中级】下面的程序的运行结果是__________
func main() {
strs := []string{"one","two", "three"}
for _, s := range strs {
go func() {
time.Sleep(1 * time.Second)
fmt.Printf("%s ", s)
}()
}
time.Sleep(3 * time.Second)
}
参考答案:three threethree
13.【中级】下面的程序的运行结果是__________
func main() {
x := []string{"a", "b","c"}
for v := range x {
fmt.Print(v)
}
}
参考答案:012
14.【中级】下面的程序的运行结果是__________
func main() {
x := []string{"a", "b","c"}
for _, v := range x {
fmt.Print(v)
}
}
参考答案:abc
15.【初级】下面的程序的运行结果是__________
func main() {
i := 1
j := 2
i, j = j, i
fmt.Printf("%d%d\n", i, j)
}
参考答案:21
16.【初级】下面的程序的运行结果是__________
func incr(p *int) int {
*p++
return *p
}
func main() {
v := 1
incr(&v)
fmt.Println(v)
}
参考答案:2
17.【初级】启动一个goroutine的关键字是__________
参考答案:go
18.【中级】下面的程序的运行结果是__________
type Slice []int
func NewSlice() Slice {
return make(Slice, 0)
}
func (s* Slice) Add(elem int) *Slice {
*s = append(*s, elem)
fmt.Print(elem)
return s
}
func main() {
s := NewSlice()
defer s.Add(1).Add(2)
s.Add(3)
}
参考答案:132
19.【初级】 Go中局部变量的默认值是__________
参考答案:局部变量具有默认值,因为它对应0值。
20.【初级】Go中全局变量的默认值是__________
参考答案:全局变量具有默认值,因为它对应0值。
21.【初级】Go中指针变量的默认值是__________
参考答案:指针初始化为nil。
22.【初级】Go中的零指针是__________
参考答案:如果您没有要分配的确切地址,Go编译器会将Nil值分配给指针变量。 这是在变量声明时完成的。 指定为nil的指针称为nil指针。 nil指针是一个常量,在几个标准库中定义了零值。
23.【初级】指针上的指针是__________
var a int
var ptr *int
var pptr **int
a = 3000
ptr = &a
pptr = &ptr
fmt.Printf("Value available at **pptr = %d\n", **pptr)
参考答案:它是一个指针变量,可以保存另一个指针变量的地址。 它取消引用两次指向指定指针变量所持有的数据。
因此’pp’可以访问’a’。
24.【初级】Go的结构是__________
参考答案:结构是Go编程中另一种用户定义的数据类型,它允许您组合不同类型的数据项。
25.【初级】Go中的接口是__________
参考答案:Go编程提供了另一种称为接口的数据类型,它代表一组方法签名。 struct data type实现这些接口,以获得接口的方法签名的方法定义。