往期文章
[区块链go]windows系统中安装Go与环境变量配置
[区块链Go]Vscode编写工具与main()函数
目录
关键字
变量
局部变量
全局变量
常量
显式声明
隐式声明
关键字
Go语言中的基础类型关键字大致有25个:
break | default | func | interface | select |
---|---|---|---|---|
case | defer | go | map | struct |
chan | else | goto | package | switch |
const | fallthrough | if | range | type |
continue | for | import | return | var |
关键字:作为go语言中重要的组成部分,在各种数据声明,数据执行中都有很多使用的地方。
关键字释义:
- var和const:变量和常量的声明
- package and import:导入
- func:用于定义函数和方法
- return:用于从函数返回
- defer someCode:在函数退出之前执行
- go:用于并行
- select:用于选择不同类型的通讯
- interface:用于定义接口
- struct:用于定义抽象数据类型
- break、case、continue、for、fallthrough、else、if、switch、goto、default流程控制
- chan用于channel通讯
- type用于声明自定义类型
- map用于声明自定义类型
- range用于读取slice,map, channel数据
代码语言:javascript复制
package main //包的声明
package main 代表当前的 .go文件属于哪个包,其中 package 是 Go 语言声明包的关键字,main 是要声明的包名。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。
变量
代码语言:javascript复制package main
import "fmt"
func main(){
var name string = "hello world"
name = "Merry Christmas, Mr Lawrence"
fmt.Println(name)
}
变量使用var 进行定义 变量名后面 写上类型 然后再进赋值
var 变量名 变量类型 = 值
局部变量
代码语言:javascript复制package main
import "fmt"
func main(){
var Name string = "hello world"
//函数内部声明的变量只能在函数内被使用
fmt.Println(Name)
}
在函数体内声明的变量称为局部变量,函数的参数和返回值变量都属于局部变量。局部变量一定是在函数内部。在哪个{}内部声明,只能在哪个{}内部访问。局部变量不是一直存在的,它只在定义它的函数被调用后存在,函数调用结束后这个局部变量就会被销毁。
全局变量
代码语言:javascript复制package main
import "fmt"
//外不定义变量 全局变量
var Name string = "hello world"
func main(){
fmt.Println(Name)
}
全局变量声明:在函数体外声明的变量称之为全局变量。全局变量声明必须以 var 关键字开头,如果想要在外部包中使用全局变量的首字母必须大写。全局变量声明到函数外部,整个包都可以访问。如果全局变量首字母大写,跨包也可以访问.。
常量
显式声明
代码语言:javascript复制package main
import "fmt"
const age int = 12
var Name string = "hello world"
func main(){
fmt.Println(age)
}
常量是用 const 进行声明的,
const 常量名 常量类型 = 值
常量的声明以关键字const开头,后接常量类型并进行赋值,行尾没有其他标点符号。需要注意的是常量在定义的时候必须赋值,但不能使用短变量声明关键字 := 来定义常量。
隐式声明
代码语言:javascript复制package main
import "fmt"
const age = 12
var Name string = "hello world"
func main(){
fmt.Println(age)
}
把定义的类型取消掉就好。
const 常量名 = 值
由于Go是编译型语言,定义常量时可以省略常量类型,因为编译器可以根据变量的值来推断其类型。常量声明可以同时指定类型和值,如果没有显式指定类型,则类型根据右边的表达式推断。
作用域跟变量一样分为局部常量和全局常量 这里就不做解释了