1. Go语言变量定义及常量

本文介绍了Go语言中定义变量的多种方式,包括基本的`var`声明、批量声明、初始化声明以及简短声明,并强调了简短声明只能在函数内部使用。此外,还讲解了常量的定义及其在程序中的不可变性,提供了多个常量声明的示例。通过这些内容,读者可以更好地理解和掌握Go语言中的变量和常量操作。
摘要由CSDN通过智能技术生成

变量定义

Go语言里面定义变量有多种方式。

使用 var 关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型放在变量名后面

// 定义一个名称为 “variableName” ,类型为 "type" 的变量
var variableName type

定义多个变量

// 定义三个类型都是 “type” 的三个变量
var vname1, vname2, vname3 type

定义变量并初始化值

// 初始化 “variableName” 的变量为 “value” 值,类型是 “type”
var variableName type = value

同时初始化多个变量

/*
定义三个类型都是 "type" 的三个变量 , 并且它们分别初始化相应的值
vname1 为 v1 , vname2 为 v2 , vname3 为 v3
*/
var vname1, vname2, vname3 type= v1, v2, v3

你是不是觉得上面这样的定义有点繁琐?没关系,因为Go语言的设计者也发现了,有一种写法可以让它变得简单一点。我们可以直接忽略类型声明,那么上面的代码变成这样了:

/*
定义三个变量,它们分别初始化相应的值
vname1 为 v1 , vname2 为 v2 , vname3 为 v3
然后 Go 会根据其相应值的类型来帮你初始化它们
*/
var vname1, vname2, vname3 = v1, v2, v3

你觉得上面的还是有些繁琐?好吧,我也觉得。让我们继续简化:

/*
定义三个变量,它们分别初始化相应的值
vname1 为 v1 , vname2 为 v2 , vname3 为 v3
编译器会根据初始化的值自动推导出相应的类型
*/
vname1, vname2, vname3 := v1, v2, v3

现在是不是看上去非常简洁了? := 这个符号直接取代了 var 和 type , 这种形式叫做简短声明。不过它有一个限制,那就是它只能用在函数内部;在函数外部使用则会无法编译通过,所以一般用 var 方式来定义全局变量

**_ (下划线)**是个特殊的变量名,任何赋予它的值都会被丢弃。在这个例子中,我们将值 35 赋予 b ,并同时丢弃 34 :

_, b := 34, 35

Go对于已声明但未使用的变量会在编译阶段报错,比如下面的代码就会产生一个错误:声明了 i 但未使用。

package main
func main() {
	var i int
}

常量

所谓常量,也就是在程序编译阶段就确定下来的值,而程序在运行时则无法改变该值。在Go程序中,常量可定义为数值、布尔值或字符串等类型。
它的语法如下:

const constantName = value

// 如果需要,也可以明确指定常量的类型:
const Pi float32 = 3.1415926

下面是一些常量声明的例子:

const Pi = 3.1415926
const i = 10000
const MaxThread = 10
const prefix = "astaxie_"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值