【Go学习笔记】1:变量,常量,数组

变量基本使用

package main

import "fmt"

var e = "一个全局变量字符串"
var f, g int = 1, 2 //一次定义多个

//可以用因式分解的写法
var (
	h, i, j int     = 3, 4, 5
	k       bool    = false
	l, m    float32 = 2.5, 3.5
)

func main() {
	var a bool        //定义一个bool变量
	var b bool = true //定义时初始化
	b = true
	var c int = 32 //int变量
	var d string   //字符串
	d = "啊啊啊"

	//输出局部变量看看
	fmt.Print(a, b, c, d, e)
	//输出全局变量看看
	fmt.Print(f, g, h, i, j, k, l, m)
}

运行结果:

false true 32啊啊啊一个全局变量字符串1 2 3 4 5 false 2.5 3.5

类型推断

当定义常量时,或者在初始化变量时可以省略其类型,由编译器做类型推断。

package main

import "fmt"

func main() {
	//以下两种方式都可以初始化变量
	var a int = 3
	b := 3
	fmt.Print(a, b)

	//初始化多个变量
	d, e, f := false, 2.5, "啊啊啊"
	fmt.Print(d, e, f)

	//定义常量
	const c = 4
	fmt.Print(c)
}

运行结果:

3 3false 2.5啊啊啊4

常量基本使用

package main

import "fmt"

const (
	Lau = 0
	Zy  = 77
	Hou = 5
	a   = "啊啊啊"
	b   = len(a) //在常量中使用内置函数
)

func main() {
	fmt.Print(Lau, Zy, Hou, a, b)
}

运行结果:

0 77 5啊啊啊9

特殊常量iota

简单的说就是在const里的iota这个特殊的常量表示了行索引。然后const本身还有个性质就是,当某行的常量没有显式给初始化值时,会使用和上一行一样的表达式(但在本行计算)。

package main

import "fmt"

const (
	a = iota //0
	b = iota //1
	c        //自动和上面一样是iota,而iota自增,为3
	d = "啊啊" //自己赋值了,但iota每行都自增一下,为4
	e        //此时iota为4,但这里是自动和上一行一样,所以为啊啊
	f = iota //此时iota为5
	//可以使用这样的小技巧
	g = iota * 3 //6*3
	h            //先使用上一行的表达式iota*3,再计算一下是7*3
)

func main() {
	fmt.Print(a, b, c, d, e, f, g, h)
}

运行结果:

0 1 2啊啊啊啊5 18 21

数组基本使用

package main

import "fmt"

func main() {
	//声明名为ok,长度为4的int数组
	var ok [4]int
	fmt.Print(ok)

	//初始化数组
	var ok2 = [3]float32{0.5, 1.2, 3.3}
	fmt.Print(ok2)

	//初始化时省略长度
	var ok3 = [...]int{0, 1, 2}
	fmt.Print(ok3)

}

运行结果:

[0 0 0 0][0.5 1.2 3.3][0 1 2]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值