迹忆客 计算机编程题库

Go 笔试题精选二

1.
(多选题)关于 go vendor,下面说法正确的是()
  • 基本思路是将引用的外部包的源代码放在当前工程的 vendor 目录下面
  • 编译 go 代码会优先从 vendor 目录先寻找依赖包
  • 可以指定引用某个特定版本的外部包
  • 有了 vendor 目录后,打包当前的工程代码到其他机器的$GOPATH/src 下都可以通过编译
2.
(简答题)JSON 标准库对 nil slice 和 空 slice 的处理是一致的吗? 
3.
(多选题)value 是整型变量,下面 if 表达式符合编码规范的是()
  • if value == 0
  • if value
  • if value != 0
  • if !value
4.
(单选题)以下哪项关于 Go 中的 rvalue 表达式是正确的?
  • 术语 rvalue 是指存储在内存中某个地址的数据值。
  • rvalue 是一个不能赋值给它的表达式,这意味着 rvalue 可能出现在赋值的右侧,但不能出现在左侧。
  • 数字文字是 rvalue,因此可能不会被分配,也不能出现在左侧。
  • 以上所有都正确
5.
(简答题)下段代码输出什么? ```go func Test2(t *testing.T) { slice := []int{0, 1, 2, 3} m := make(map[int]*int) for key, val := range slice { m[key] = &val } for k, v := range m { fmt.Printf("key: %d, value: %d \n", k, *v) } } ```
6.
(多选题)通过指针变量 p 访问其成员变量 name,有哪几种方式?
  • p.name
  • (&p).name
  • (*p).name
  • p->name
7.
(单选题)下面代码输出什么? ```go func hello(num ...int) { num[0] = 18 } func Test13(t *testing.T) { i := []int{5, 6, 7} hello(i...) fmt.Println(i[0]) } ```
  • 18
  • 5
  • Compilation error
8.
(简答题)Golang GC 时会发生什么?
扫码一下
查看教程更方便