加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang 赋值与声明语法糖使用注意事项

发布时间:2020-12-16 09:23:28 所属栏目:大数据 来源:网络整理
导读:赋值与声明语法糖 基本用法略,搜索即可 注意事项 类型推断 := 会自动进行类型推断,当想要的类型不是自己想要的类型时需要进行类型转换 // i1 默认是 int 类型i1 := 1// 当需要把 i2 当成 int64 来使用时需要进行类型转换再赋值i2 := int64(1) 这里说到类型推

赋值与声明语法糖

基本用法略,搜索即可

注意事项

类型推断

:= 会自动进行类型推断,当想要的类型不是自己想要的类型时需要进行类型转换

// i1 默认是 int 类型
i1 := 1

// 当需要把 i2 当成 int64 来使用时需要进行类型转换再赋值
i2 := int64(1)

这里说到类型推断,提一下 const 变量,如果是 const 变量中定义的值会自动根据语境在编译期自动判断类型

同作用域已有变量不会重新创建新的变量

:= 左边的变量不一定全是新变量,有可能是老变量,只是被重新赋值了而已,只要是同作用域内已有的变量,不会创建新的变量

// 返回 1
func testFunc() (ret int) {
    ret,err := 1,error(nil)
    if err != nil {
        return
    }
    return
}

作用域不同一定会创建新的变量

跟上面一点要区分开

// 返回 0,返回值的 ret 并没有被赋值,赋值的是 if 里面的 ret,和外面的 ret 并不相关
func testFunc() (ret int) {
    if ret,error(nil); err != nil {
        fmt.Println(ret)
        return
    }
    return
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读