本文共 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/