【区块链Go】基础语法

2022-11-28 15:22:52 浏览数 (1)

 往期文章

[区块链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是编译型语言,定义常量时可以省略常量类型,因为编译器可以根据变量的值来推断其类型。常量声明可以同时指定类型和值,如果没有显式指定类型,则类型根据右边的表达式推断。

作用域跟变量一样分为局部常量和全局常量 这里就不做解释了 

0 人点赞