GO语言面试题(五)!老男孩GO语言怎么样?
老男孩IT教育
技术博客
2021年5月27日 17:29
Go语言由 Google公司开发,并于2009年开源,相比Java/python/c等语言,Go尤其擅长并发编程,性能堪比C语言,开发效率肩比Python, 被誉为“21世纪的C语言”。本篇文章为大家介绍几道GO语言面试题。
Go语言由 Google公司开发,并于2009年开源,相比Java/python/c等语言,Go尤其擅长并发编程,性能堪比C语言,开发效率肩比Python, 被誉为“21世纪的C语言”。本篇文章为大家介绍几道GO语言面试题。
填空题
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、下面的程序的运行结果是__
func main() {
i := 1
j := 2
i, j = j, i
fmt.Printf("%d%d\n", i, j)
}
参考答案:
21
11、下面的程序的运行结果是__
func incr(p *int) int {
*p++
return *p
}
func main() {
v := 1
incr(&v)
fmt.Println(v)
}
参考答案:
2
12、启动一个goroutine的关键字是__
参考答案:
go
13、下面的程序的运行结果是__
for i := 0; i < 5; i++ {
defer fmt.Printf("%d ", i)
}
参考答案:
4 3 2 1 0
14、下面的程序的运行结果是__
func main() {
x := 1
{
x := 2
fmt.Print(x)
}
fmt.Println(x)
}
参考答案:
21
15、下面的程序的运行结果是__
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 three three
16、下面的程序的运行结果是__
func main() {
x := []string{"a", "b", "c"}
for v := range x {
fmt.Print(v)
}
}
参考答案:
012
17、下面的程序的运行结果是__
func main() {
x := []string{"a", "b", "c"}
for _, v := range x {
fmt.Print(v)
}
}
参考答案:
abc
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
