Go语言学习(一)Go语言变量

1.声明一个或多个变量并将其输出

Go语言学习(一)Go语言变量
总结:此代码中需要注意的点是
(1)声明变量时要注意中间的空格不能省略
(2)如果代码写的不规范,编译时会自动调整成规范的格式,比如在编译前代码中的1,2之间没有空格,但是在编译后会自动出现
(3)在编写代码时,不用每次都删除hello.exe文件,因为在编译main.go文件时,会自动将其之前的进行覆盖

2.变量声明

第一种,指定变量类型,如果没有初始化,则变量默认为零值。
Go语言学习(一)Go语言变量
以下几种类型为 nil:
Go语言学习(一)Go语言变量
举一个实例:
Go语言学习(一)Go语言变量
总结:
在go语言中,函数的基本组成为:关键字func、函数名、参数列表、返回值、函数体和返回语句,每一个程序都包含很多的函数,函数是基本的代码块
第二种,根据值自行判定变量类型。
此处没有定义变量d是什么类型
Go语言学习(一)Go语言变量
第三种,省略var
注意:“=”左侧如果没有声明新的变量,就产生编译错误(就是说变量不能声明已经声明了的变量)
Go语言学习(一)Go语言变量

3.多变量声明

Go语言学习(一)Go语言变量
总结:
此处发现了两个问题
(1)就是也可以不导入“fmt”,依旧可以进行输出,可以使用小写的print、println输出,但是首字母大写的无法使用,printf无法使用
(2)如果在main函数中定义了变量,那么一定要进行输出,否则会报错undefined:g,h

特别重要的注意事项:

如果您不平时不注意这些注意事项,那么你可能会出现许多很莫名其妙的报错,但是你个人会认为你自己是对的,因为从逻辑上面是没有任何报错的,可是你就是错了,用涛总的一句话改变就是你懂不懂。
(1)如果你声明了一个局部变量却没有在相同的代码块中使用它(当然了,全局变量是允许声明但不使用,而且同一类型的多个变量可以声明在同一行),同样会得到编译错误,例如下面这个例子:
Go语言学习(一)Go语言变量
总结:如果变量首先被声明了变量并设置了类型但是没有设值,之后输出此变量时是零值
(2)如果在相同的代码块中,我们不可以再次对于相同名称的变量使用初始化声明,例如a:=20就是不被允许的,编译器也会报错,报错信息为no new variables on left side of :=
Go语言学习(一)Go语言变量
但是a=20就是可以的,因为这个给相同的变量赋予一个新的值
Go语言学习(一)Go语言变量
但是如果在定义前使用它,呢么也会出现编译错误的报错
Go语言学习(一)Go语言变量
(3)多变量在同一行进行赋值
Go语言学习(一)Go语言变量
还有一个""空白标识符代表的是抛弃值,但是目前我还没有研究好他是怎么用的,大概的意思是,f=5,7中值“5”被抛弃