博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Go 面试每天一篇(第 93 天)
阅读量:2288 次
发布时间:2019-05-09

本文共 1247 字,大约阅读时间需要 4 分钟。

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

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

你好哇,欢迎来答题,一起来看下的解析:

1.下面代码输出什么?

1var x int  2  3func init() {
4    x++ 5} 6 7func main() {
8    init() 9    fmt.Println(x) 10}

参考答案及解析:编译失败。init() 函数不能被其他函数调用,包括 main() 函数。

2.min() 函数是求两个数之间的较小值,能否在 该函数中添加一行代码将其功能补全。

1func min(a int, b uint) {
2    var min = 0 3    fmt.Printf("The min of %d and %d is %d\n", a, b, min) 4} 5 6func main() {
7    min(1225, 256) 8}

参考答案即解析:利用 copy() 函数的功能:切片复制,并且返回两者长度的较小值。

1func min(a int, b uint) {
2    var min = 0 3    min = copy(make([]struct{},a),make([]struct{},b)) 4    fmt.Printf("The min of %d and %d is %d\n", a, b, min) 5} 6 7func main() {
8    min(1225, 256) 9}

解析若有不妥之处,欢迎在留言区交流、指正!

看下今天的题目:

1.关于 main() 函数,下面说法正确的是?

  • 不能带参数;

  • 不能定义返回值;

  • 所在的包必须为 main 包;

  • 可以使用 flag 包来获取和解析命令行参数;

2.下面代码能编译通过吗?请简要说明。

1type User struct {
2    Name string 3} 4 5func (u *User) SetName(name string) {
6    u.Name = name 7    fmt.Println(u.Name) 8} 9 10type Employee User 11 12func main() {
13    employee := new(Employee) 14    employee.SetName("Jack") 15}

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

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

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

推荐阅读:

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

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

转载地址:http://pkfnb.baihongyu.com/

你可能感兴趣的文章
Docker数据管理
查看>>
Dockerfile创建镜像
查看>>
Docker镜像仓库搭建 图形化Harbor
查看>>
Kubernetes集群组件安装(二进制安装)
查看>>
阿里云ECS磁盘在线扩容后扩容磁盘
查看>>
K8S控制器Deployment
查看>>
Ambari安装
查看>>
使用ambari创建Hadoop集群
查看>>
KVM和Qemu的区别
查看>>
KVM
查看>>
NoSQL分类
查看>>
MongoDB安装
查看>>
MongoDB基础操作
查看>>
MongoDB用户权限管理
查看>>
Zabbix 安装配置
查看>>
zabbix自定义监控项
查看>>
zabbix报警功能(邮件报警)---触发器/动作
查看>>
zabbix微信报警
查看>>
微信报警脚本
查看>>
Gitlab源
查看>>