Golang精编面试题 -- 填空题

这是一组关于Golang的基础填空题,涵盖了变量声明、数据结构、函数、通道、测试等方面,适合初学者巩固Go语言基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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实现这些接口,以获得接口的方法签名的方法定义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值