【区块链Go】基础语法

简介: 【区块链Go】基础语法

关键字

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数据

     

    package main   //包的声明

    image.gif

    package main 代表当前的 .go文件属于哪个包,其中 package 是 Go 语言声明包的关键字,main 是要声明的包名。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。

    变量

    package main
    import "fmt"
    func main(){
      var name string = "hello world"
      name = "Merry Christmas, Mr Lawrence"
      fmt.Println(name)
    }

    image.gif

    image.gif编辑

    变量使用var 进行定义  变量名后面 写上类型  然后再进赋值

    var  变量名   变量类型 =  值

    局部变量

    package main
    import "fmt"
    func main(){  
      var Name string = "hello world"
    //函数内部声明的变量只能在函数内被使用
      fmt.Println(Name)
    }

    image.gif

    在函数体内声明的变量称为局部变量,函数的参数和返回值变量都属于局部变量。局部变量一定是在函数内部。在哪个{}内部声明,只能在哪个{}内部访问。局部变量不是一直存在的,它只在定义它的函数被调用后存在,函数调用结束后这个局部变量就会被销毁。

    全局变量

    package main
    import "fmt"
    //外不定义变量 全局变量
    var Name string = "hello world"
    func main(){  
      fmt.Println(Name)
    }

    image.gif

    全局变量声明:在函数体外声明的变量称之为全局变量。全局变量声明必须以 var 关键字开头,如果想要在外部包中使用全局变量的首字母必须大写。全局变量声明到函数外部,整个包都可以访问。如果全局变量首字母大写,跨包也可以访问.。

    常量

    显式声明

    package main
    import "fmt"
    const age int = 12
    var Name string = "hello world"
    func main(){  
      fmt.Println(age)
    }

    image.gif

    常量是用 const 进行声明的,      

    const  常量名   常量类型 =  值

    常量的声明以关键字const开头,后接常量类型并进行赋值,行尾没有其他标点符号。需要注意的是常量在定义的时候必须赋值,但不能使用短变量声明关键字 := 来定义常量。

    隐式声明

    package main
    import "fmt"
    const age  = 12
    var Name string = "hello world"
    func main(){  
      fmt.Println(age)
    }

    image.gif

    image.gif编辑

    把定义的类型取消掉就好。

    const  常量名  =  值

    由于Go是编译型语言,定义常量时可以省略常量类型,因为编译器可以根据变量的值来推断其类型。常量声明可以同时指定类型和值,如果没有显式指定类型,则类型根据右边的表达式推断。

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

    目录
    相关文章
    |
    3月前
    |
    存储 Java Go
    |
    3月前
    |
    编译器 Go 开发者
    |
    4月前
    |
    Java 编译器 Go
    【字节跳动青训营】后端笔记整理-1 | Go语言入门指南:基础语法和常用特性解析(一)
    本文主要梳理自第六届字节跳动青训营(后端组)-Go语言原理与实践第一节(王克纯老师主讲)。
    79 1
    |
    4月前
    |
    编译器 Go
    Go 语言基础语法
    Go 语言基础语法
    37 1
    |
    3月前
    |
    Go
    go基础语法结束篇 ——函数与方法
    go基础语法结束篇 ——函数与方法
    |
    3月前
    |
    编译器 Go 数据安全/隐私保护
    go语言入门之路——基础语法
    go语言入门之路——基础语法
    |
    3月前
    |
    存储 安全 Java
    【Go语言精进之路】Go语言基础:基础语法概览
    【Go语言精进之路】Go语言基础:基础语法概览
    40 0
    |
    4月前
    |
    存储 Go C语言
    【GO基础】GO基础语法一
    【GO基础】GO基础语法一
    |
    3月前
    |
    Java Go Scala
    |
    3月前
    |
    存储 Java Unix