Go面试题12
1: 下面属于关键字的是()
- A.
func
- B.
struct
- C.
class
- D.
defer
2: 下面这段代码输出什么?
package main
import "fmt"
func main() {
i := -5
j := +5
fmt.Println("%+d %+d", i, j)
}
- A.
-5+5
- B.
+5+5
- C.
0 0
3: 下面这段代码输出什么?
package main
import "fmt"
type People struct {}
func (p *People) ShowA() {
fmt.Println("showA")
p.ShowB()
}
func (p *People) ShowB() {
fmt.Println("showB")
}
type Teacher struct {
People
}
func (t *Teacher) ShowB() {
fmt.Println("teacher showB")
}
func main() {
t := Teacher{}
t.ShowB()
}
参考答案及解析
1: 答案及解析: ABD
. 知识点: Go 语言的关键字.
2: 答案及解析: A
. %d
表示输出十进制数字. +
表示输出数字的符号. 这里不表示取反.
3: 答案及解析: teacher showB
. 知识点: 结构体嵌套. 在嵌套结构体中, Pepole
成为内部类型, Teacher
成为外部类型;
通过嵌套, 内部类型的属性, 方法,可以为外部类型所有,就好像是外部类型自己的一样. 此外内部类型的方法就是被’屏蔽’.这个例子中的ShowB()
就是同名方法.
「真诚赞赏,手留余香」
真诚赞赏,手留余香
使用微信扫描二维码完成支付