梦的开始————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 a | var a int/float | a |
| 之后根据值自行判断变量类型 | 声明之后根据类型给默认值 | 效果类似不指定类型 |
多变量声明:
`
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的特性搞出船新玩法,来评论区分享一下吧!!!