返回介绍

第六十八天

发布于 2023-06-25 22:22:03 字数 1343 浏览 0 评论 0 收藏 0

1.下面代码有什么问题吗?

func main()  {

    for i:=0;i<10 ;i++  {
    loop:
        println(i)
    }
    goto loop
}

参考答案及解析:goto 不能跳转到其他函数或者内层代码。编译报错:

    goto loop jumps into block starting at

2.下面代码输出什么,请说明。

func main() {
    x := []int{0, 1, 2}
    y := [3]*int{}
    for i, v := range x {
        defer func() {
            print(v)
        }()
        y[i] = &v
    }
    print(*y[0], *y[1], *y[2])
}

参考答案及解析:22222。知识点:defer()、for-range。for-range 虽然使用的是 :=,但是 v 不会重新声明,可以打印 v 的地址验证下。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文