目录
基本格式
//每个文件必须先声明包
//程序必须有一个main包(重要)
package main
import "fmt"
//入口函数
func main(){ //左括号必须和函数名同行
fmt.Println("Hello,world!") //go语言语句结尾没有分号
}
匿名变量
var c, d, e int
c, d, e = test() //return 1, 2, 3
fmt.Println("c = %d, d = %d, e = %d", c, d, e) //1,2,3
//使用匿名变量
_, d, _ = test() //return 1, 2, 3
fmt.Println("d = %d", d) //2
iota常量自动生成器
//1.每个一行,自动累加1
//2.iota给常量赋值使用
const{
a = iota //0
b = iota //1
c = iota //2
}
//3.iota遇到const, 重置为0
const d = iota //0
//新文件
//如果是同一行,值都一样
const{
i = iota
j1, j2, j3 = iota, iota, iota
k = iota
}
fmt.Println("i = %d, j1 = %d, j2 = %d, j3 = %d, k = %d", i, j1, j2, j3, k) //0, 1, 1, 1, 2
range迭代器
str := "abc"
//range迭代器支持 string/array/slice/map
//迭代打印每个元素,默认返回2个值:一个是元素的位置,一个是元素本身
for i, data := range str{
fmt.Println("str[%d] = %c", i, data)
}
控制台输入
//和c语言类似,要加取址符
fmt.Scan(&a)
type声明类型取别名
type取别名用的,以下是其中一个例子
//给int64起一个别名叫bigint
type bigint int64
var a bigint //等价于 var a int64