go(2)变量声明与常量枚举

一、变量声明

因为go语言是静态类型语言。编译期间做检车数据类型,即写程序时要生命所有变量类型。使用数据之前必须声明数据类型。

  1. 以下两种变量定义方法都在编译程序之前声明了数据类型。
var x int // 自动化初始为0
var y = false //自动推断为bool类型。
  1. 可以一次定义多个变量,
var x,y int
var a,s = 100, "abc"
  1. 可以以小组方式定义多行变量
var (
	x, y int
	a, s = 100, "abc"
)
  1. 简短方法变量声明
fun main(){
	x :=100
	a, s :=1, "abc"
}

简短方法变量赋值错误, 本来准本修改全局变量x,却创建了一个局部变量x
错误的变量赋值方法:

var x = 100
func main(){
	println(&x,x)
	x := "abc"
	println(&x,x)
}

简短方法也可能退化赋值
错误的退化赋值方法方法1:

func main(){
	x := 100
	println(&x)
	x :=200
	println(&x,x) // 错误 要想退化赋值需要有一个新的变量被赋值

}

错误的退化赋值方法2:

func main(){
	x := 100
	println(&x,x)
	{
		x, y = 200, 300
		println(&x, x, y)
	}
	
}

正确退化赋值方法:

func main(){
	x := 100
	println(&x)
	x, y = 200, "abc"
	println(x,y)


}
  1. 多变量赋值
func main(){
	x, y = 1, 2
	x, y = y+3, x+2
	println(x,y)

}
  1. 局部变量赋值未使用是错误的
var x int
func main(){
	y := 10
}

二、常量

常量也可以在函数中定义,不使用不会引发编译错误。
但是常量显式指定类型后左右类型要一致而且不能溢出。
常量值可以是函数的返回值。
在常量组中也可以只声明,默认赋值为上一行非空右值。
常量表示运行时恒定不能改变的值。

const x,y int = 123, 0x22
const s = "Hello World!"
const c = "我"
const {
	i, f = 1, 0.123
	b = false
}

三、枚举类型

iota 可以实现自增

const (
	x = iota // 0
	y		 // 1
	z 		 // 2

)
const (
	 _, _ = iota, iota*10
	 a, b
	 c, d
)
const (
	a = iota
	b
	c = 100
	d
	e = iota
	f
)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值