Golang 语言面试题 - 第 12 天

Seek · · 762 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

欢迎留言区交流! 1.下面属于关键字的是() - A.func - B.struct - C.class - D.defer 参考答案及解析:ABD。知识点:Go 语言的关键字。Go 语言有 25 个关键字。 2.下面这段代码输出什么? ```go func main() { i := -5 j := +5 fmt.Printf("%+d %+d", i, j) } ``` - A. -5 +5 - B. +5 +5 - C. 0 0 参考答案及解析:A。`%d`表示输出十进制数字,`+`表示输出数值的符号。这里不表示取反。 3.下面这段代码输出什么? ```go 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() } ``` 参考答案及解析:teacher showB。知识点:结构体嵌套。在嵌套结构体中,People 称为内部类型,Teacher 称为外部类型;通过嵌套,内部类型的属性、方法,可以为外部类型所有,就好像是外部类型自己的一样。此外,外部类型还可以定义自己的属性和方法,甚至可以定义与内部相同的方法,这样内部类型的方法就会被“屏蔽”。这个例子中的 ShowB() 就是同名方法。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

762 次点击  ∙  1 赞  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传