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 WordPress模板 |