Golang基础语法
第一个代码
package main
import "fmt"
func main() {
/* 简单的程序 打印Hello Go*/
fmt.Println("Hello Go")
}
$ go run test_hello.go
Hello Go
$
go run 表示 直接编译go语言并执行应用程序,一步完成
package main 定义了包名,必须在源文件中的第一行指定这个文件属于哪个包。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。
import "fmt" 告诉 Go 编译器这个程序需要使用 fmt 包,fmt 包实现了格式化 IO(输入/输出)的函数,包里包含着需要使用的许多函数。
func main() 主函数,是程序开始执行的函数,main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。
变量的声明
变量声明
第一种,指定变量类型,声明后若不赋值,使用默认值0。
var v_name
第二种,根据值自行判定变量类型。
var v_name = value
第三种,省略var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误。
v_name := value
多变量声明
var x, y int
//这种分解的写法,一般用于声明全局变量
var (
a int
b bool
)
var c, d int = 1, 2
var e, f = 123, "text"
//这种不带声明格式的只能在函数体内声明,"需要在func函数体内实现"
g, h := 123
//实际上7的赋值被废弃,变量 _ 不具备读特性
_, value := 6, 4
常量
常量是一个简单值的标识符,在程序运行时,就被声明并赋予默认值或者赋予的值,不能被修改。
常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。
常量的定义格式:
const identifier [type] = value
可以省略类型说明符 [type],编译器可以根据变量的值来推断其类型。
显式类型定义:
const b string = "abc"
隐式类型定义:
const b = "abc"
常量还可以用作枚举:
const (
Unknown = 0
Female = 1
Male = 2
)
数字 0、1 和 2 分别代表未知性别、女性和男性。
常量可以用一些数学函数来进行常量计算表达式的值。常量表达式中,函数必须是内置函数,否则编译不过:
const (
a = "abc"
b = len(a)
c = unsafe.Sizeof(a)
)
优雅的常量 iota
有些概念有名字和我们关注这些名字,可以出现在代码中。
const (
CCVisa = "Visa"
CCPhone = "IPhone"
CCAmericanExpress = "American Express"
)
自增长
在 golang 中,可以使用iota标示符,它简化了常量用于增长数字的定义,给以上相同的值以准确的分类。
const (
Books = iota // 0
Health // 1
Clothing // 2
)