Go 语言入门指南:基础语法和常用特性解析 | 青训营

69 阅读2分钟

梦的开始————Hello World

    package main
    import "fmt"
    func main(){
        fmt.Println("Hwllo,World!")
    }

在这个案例里,第一行是对包的声明,main包是每个项目的入口,

第二行是用Go语言关键字进行包的导入这里有两种导入方法,一种是单包导入,一种是多包导入。

    import (
        "x"
        "y"
        "z"
    )
   

第三行用Go语言关键字func(定义函数)

第四行用fmt包里的println方法打印Hello,World!

变量

你将在Go语言中体验变量船新版本,Are you ready?

单变量声明:
声明但不指定类型声明并指定类型省略var
var avar a int/floata
之后根据值自行判断变量类型声明之后根据类型给默认值效果类似不指定类型
多变量声明:
`
    var x, y int
    
    var (
            x int
            y int
    )
    //两种写法等价   第二种多用于声明全局变量
`

常量

在Go中常量的数据类型只能是int、float、bool、string。

常量有两种定义方式:显式、隐式。

显式类型

const b string = "abc" 直接给出常量的类型

隐式类型

const b = "abc" 根据值去判断常量类型

小特性————这是重点哦

iota 自增长,当你需要定义一长串常量,你可以像这样定义

    const (
        x = iota // 0
        y      // 1
        z     // 2
    )

这样定义的好处是,简化了常量用于顺序增加的需求。

当然 iota也可以是一个表达式,如

   const (
    _           = iota                   
    x1 ByteSize = 1 << (10 * iota)       // 1 << (10*1)
    x2                                   // 1 << (10*2)
    x3                                   // 1 << (10*3)
    x4                                   // 1 << (10*4)
    x5                                   // 1 << (10*5)
    x6                                   // 1 << (10*6)
    x7                                   // 1 << (10*7)
    x8                                   // 1 << (10*8)
  )
 

iota可不至于此,他还有一个特性就是他会在下一行加一,一行中的iota是相同,这个特性我们可以进行应用,如

    const (
    a, b = iota + 1, iota + 2   // a b  1 2  iota=0
    c, d                        // c d  2 3  iota=1
    e, f                        // e f  3 4  iota=2
)

总结

在Go语言中,对于变量和常量给出了不一样的玩法,这种船新版本你感觉怎么样呢,尤其是常量中iota的玩法,我这里只是说了两个简单的,相信你们的小脑瓜子会通过iota的特性搞出船新玩法,来评论区分享一下吧!!!