Golang 语言面试题 - 第 15 天

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

欢迎留言区交流! 1.下面代码下划线处可以填入哪个选项? ```go func main() { var s1 []int var s2 = []int{} if __ == nil { fmt.Println("yes nil") }else{ fmt.Println("no nil") } } ``` - A. s1 - B. s2 - C. s1、s2 都可以 参考答案及解析:A。知识点:nil 切片和空切片。nil 切片和 nil 相等,一般用来表示一个不存在的切片;空切片和 nil 不相等,表示一个空的集合。 2.下面这段代码输出什么? ```go func main() { i := 65 fmt.Println(string(i)) } ``` - A. A - B. 65 - C. compilation error 参考答案及解析:A。UTF-8 编码中,十进制数字 65 对应的符号是 A。 3.下面这段代码输出什么? ```go type A interface { ShowA() int } type B interface { ShowB() int } type Work struct { i int } func (w Work) ShowA() int { return w.i + 10 } func (w Work) ShowB() int { return w.i + 20 } func main() { c := Work{3} var a A = c var b B = c fmt.Println(a.ShowA()) fmt.Println(b.ShowB()) } ``` 参考答案及解析:13 23。知识点:接口。一种类型实现多个接口,结构体 Work 分别实现了接口 A、B,所以接口变量 a、b 调用各自的方法 ShowA() 和 ShowB(),输出 13、23。

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

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

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