前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >golang的变量声明

golang的变量声明

作者头像
HHTjim 部落格
发布2023-02-13 14:43:16
1K0
发布2023-02-13 14:43:16
举报
文章被收录于专栏:HHTjim'S 部落格HHTjim'S 部落格

golang的变量声明

作者:matrix 被围观: 3 次 发布时间:2023-01-31 分类:Golang | 无评论 »

变量声明

Golang属于强类型语言,且定义的变量一定要被使用不然会编译报错。

Golang可以使用:=的语法糖来自动实现类型推断,一般都在非全局变量中使用。var的声明多用在全局变量声明。

变量赋值后必须使用,否则编译失败

例外: _变量 表示占位变量。不能赋值和调用,仅为占位作用。

代码语言:javascript
复制
var a int = 16
var a = 16 //类型自动推断
//等同于短变量声明
a := 16
//多变量快捷声明
var a, b int
var a, b, c = 16, true, "str" //可以不同类型

变量作用域

代码语言:javascript
复制
  {
    var b string = "hi~"
    fmt.Println("asd")
    fmt.Println("b->", b)
  }

  num := 12
  {
    a, num := false, 5 // 这里的num会被认为是一个新变量
    b := 100
    fmt.Println(a, num, b)
  }

  fmt.Println(a, num) // a: undefined

{ ... }代码块会限制变量作用域

变量默认值

基本数据类型默认值都是 0、空字符串这些,声明时就划分内存空间

代码语言:javascript
复制
//声明即初始化(划分内存空间)

var a int //0
//等同于 var a int = 0

var a string //""
var a bool //false
var a rune //0
var a byte //0
var a float32 //0
...


其他类型都默认为nil值
var a error 
// var a error = nil
var a *int
var a []int
var a map[string]string
...

参考: https://mp.weixin.qq.com/s/m8iQdGu7g_8PX4s9mFbkDQ

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-01-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • golang的变量声明
    • 变量声明
      • 变量作用域
        • 变量默认值
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档