当前位置: 首页 > news >正文

go 关于接口和类的说法_Go 面试每天一篇(第 8 天)

点击上方蓝色“Golang来啦”关注我哟

加个“星标”,天天 15 分钟,一起学 Go

最近开始转凉了,这两天杭州气温下降的特别明显,大家注意别着凉了。

继续我们的每日一题,昨天一共三道题,来看下。
1.
参考答案及解析:BD。知识点:字符串连接。除了以上两种连接方式,还有 strings.Join()、buffer.WriteString()等。

2.贴下原题代码:

 1const (
2    x = iota
3    _
4    y
5    z = "zz"
6    k 
7    p = iota
8)
9
10func main()  {
11    fmt.Println(x,y,z,k,p)
12}

参考答案及解析:编译通过,输出:0 2 zz zz 5。知识点:iota 的使用。给大家贴篇文章,讲的很详细
https://www.cnblogs.com/zsy/p/5370052.html

3.下面赋值正确的是()

  • A. var x = nil

  • B. var x interface{} = nil

  • C. var x string = nil

  • D. var x error = nil

参考答案及解析:BD。知识点:nil 值。nil 只能赋值给指针、chan、func、interface、map 或 slice 类型的变量。强调下 D 选项的 error 类型,它是一种内置接口类型,看下方贴出的源码就知道,所以 D 是对的。

1type error interface {
2    Error() string
3}

欢迎在留言区补充!

看下今天的题目:
1.关于init函数,下面说法正确的是()

  • A. 一个包中,可以包含多个 init 函数;

  • B. 程序编译时,先执行依赖包的 init 函数,再执行 main 包内的 init 函数;

  • C. main 包中,不能有 init 函数;

  • D. init 函数可以被其他函数调用;

2.下面这段代码输出什么以及原因?

 1func hello() []string {  
2    return nil
3}
4
5func main() {  
6    h := hello
7    if h == nil {
8        fmt.Println("nil")
9    } else {
10        fmt.Println("not nil")
11    }
12}
  • A. nil

  • B. not nil

  • C. compilation error  

3.下面这段代码能否编译通过?如果可以,输出什么?

 1func GetValue() int {
2    return 1
3}
4
5func main() {
6    i := GetValue()
7    switch i.(type) {
8    case int:
9        println("int")
10    case string:
11        println("string")
12    case interface{}:
13        println("interface")
14    default:
15        println("unknown")
16    }
17}

答案以及解析会在下一篇文章中给出,鼓励大家在留言区留下答案,抱团学习,日拱一卒,每天进步一点!

ps:看完文章如果有收获,顺手花 1s 时间帮点下文末右下方的「在看」,感激!

所有学习上的成功,都只依靠两件事 -- 策略和坚持,而坚持本身就是最重要的策略!

推荐阅读:

Go 语言接口详解(一)

Go 语言接口详解(二)

如果我的文章对你有所帮助,点赞、转发都是一种支持!

f4a69bf41943f5255ed83ddd3c2456f9.gif

faf80200575aca6fc3c552bcb6149482.png

给个[在看],是对四哥最大的支持

相关文章:

  • go 操作cassandra_[系列] - go-gin-api 路由中间件 - Jaeger 链路追踪(五)
  • go语言能转csv_Go 每日一库之 casbin:权限管理
  • java中的this_深入理解Java中this关键字的使用
  • Rediis mysql哪个好_rediis介绍与安装,持久化存储,发布订阅,事务
  • 504 压测geteway_loadrunner压测过程常出现错误和处理方法
  • html命名侧边栏_html+css3+jquery右侧弹出侧边栏导航菜单
  • mysql atlas分表_数据切分——Atlas读写分离Mysql集群的搭建
  • mysql internal_MySQL Internal 札记
  • mysql中8warings_查看MySQL的warnings内容的命令
  • php mysql分页显示图片_php mysql 分页显示代码
  • python中三种分支结构的语句有_Python零基础入门学习09:程序控制流程:顺序结构和分支结构...
  • python蜂窝状六边形_CSS-蜂窝状展示区域(多个六边形)的一种实现方式
  • vue 图片自适应排列插件_vue+heatmap.js实现自定义图片热力图并且自适应
  • 阿里云服务器ubuntu安装mysql_Ubuntu安装MySQL-阿里云开发者社区
  • mysql 2日期什么类型的_【MySQL数据类型2之--日期时间类型】
  • 【面试系列】之二:关于js原型
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Angular 2 DI - IoC DI - 1
  • Fundebug计费标准解释:事件数是如何定义的?
  • leetcode98. Validate Binary Search Tree
  • Median of Two Sorted Arrays
  • Odoo domain写法及运用
  • PV统计优化设计
  • 配置 PM2 实现代码自动发布
  • 前端面试题总结
  • 用jQuery怎么做到前后端分离
  • ionic异常记录
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • Python 之网络式编程
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​如何在iOS手机上查看应用日志
  • %check_box% in rails :coditions={:has_many , :through}
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (南京观海微电子)——COF介绍
  • (一)基于IDEA的JAVA基础10
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)setTimeout 和 setInterval 的区别
  • (转)VC++中ondraw在什么时候调用的
  • .gitignore文件设置了忽略但不生效
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .net core 连接数据库,通过数据库生成Modell
  • .NET 材料检测系统崩溃分析
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .net连接MySQL的方法
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [2023-年度总结]凡是过往,皆为序章
  • [ABC294Ex] K-Coloring
  • [Assignment] C++1
  • [BZOJ2208][Jsoi2010]连通数
  • [C]编译和预处理详解
  • [CC2642r1] ble5 stacks 蓝牙协议栈 介绍和理解
  • [CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]