go语言学习记录 1

1.初始化全局常量
iota 第一个iota为0 后面每有一个就加一
iota 也可以用在表达式中,如:iota + 50。在每遇到一个新的常量块或单个常量声明时, iota 都会重置为 0( 简单地讲,每遇到一次 const 关键字,iota 就重置为 0 )

const (
		a = iota
		b = iota
		c = iota
	)
	也可以这样声明
const (
		a = iota
		b
		c
	)

声明变量并没有赋值时会自动赋予默认值
声明变量的方式 var 变量名称[声明类型] = 赋值参数 声明函数(方法)

func 函数名称(传入参数 传入参数类型 …) 返回参数 返回参数类型 … {
代码块
}

:= 赋值只能使用与局部变量赋值
a := 2 这个是重新声明一个名称为a的变量

在全局变量中 必须使用 var 进行修饰 不能直接 a = 2

同一类型的多个变量可以声明在同一行
多变量可以在同一行进行赋值

var a, b, c int
a, b, c = 5, 7, "abc"

如果在函数内可以一下方式赋值

a, b, c := 5, 7, "abc"

如果想要交换两个变量的值,则可以简单地使用

a, b = b, a。

"_"的作用
_ 实际上是一个只写变量,你不能得到它的值。这样做是因为 Go 语言中你必须使用所有被声明的变量,但有时你并不需要使用从一个函数得到的所有返回值。

并行赋值也被用于当一个函数返回多个返回值时,比如这里的 val 和错误 err 是通过调用 Func1 函数同时得到:val, err = Func1(var1)。

init 函数
变量除了可以在全局声明中初始化,也可以在 init 函数中初始化。
这是一类非常特殊的函数,它不能够被人为调用,而是在每个包完成初始化后自动执行,并且执行优先级比 main 函数高。
每个源文件都只能包含一个 init 函数。初始化总是以单线程执行,并且按照包的依赖关系顺序执行。

当外部变量的名称和内部变量的名称一样时 优先使用内部变量

测试代码
var a string
var s = "5"
func main() {
	a = "G"
	println(a)
	f1()
	n()
	m()
	n()
}

func f1() {
	a := "O"//重新声明一个名称为a的变量 和外部声明的a全局变量不相关
	print(a)
	f2()
}

func f2() {
	print(a)
}

func n() {
	print(s)
}

func m() {
	s := "O"
	print(s)
}

运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值