golang的变量声明

作者:matrix 被围观: 1,038 次 发布时间:2023-01-31 分类:Golang | 一条评论 »

这是一个创建于 412 天前的主题,其中的信息可能已经有所发展或是发生改变。

变量声明

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

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

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

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

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

变量作用域

  {
    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、空字符串这些,声明时就划分内存空间

//声明即初始化(划分内存空间)

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

其他文章:
本文固定链接:https://www.hhtjim.com/golang-variable-declarations.html
matrix
本文章由 matrix 于2023年01月31日发布在Golang分类下,目前没有通告,你可以至底部留下评论。
转载请注明:golang的变量声明-HHTjim'S 部落格

有1条评论 »

  1. 新订阅 新订阅 2023-3-6 19:25:54 +0800#1

    交换链接吗

添加新评论 »

 🙈 😱 😂 😛 😭 😳 😀 😆 👿 😉 😯 😮 😕 😎 😐 😥 😡 😈 💡

插入图片

NOTICE: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!