本篇内容:hello world、变量
GO语言环境
下载
安装
D:\Program Files\Go
liteIDE(开发工具)
下载
https://sourceforge.net/projects/liteide/
解压
D:\work\tools\liteidex37.4.win64-qt5.14.2\liteide\bin
hello world
// 1、包声明
// 程序要运行,必须得有一个main包
package main
// 2、导入fmt包
import "fmt"
// 3、入口函数(一个文件夹,即工程下只能有一个main函数)
func main() {
// 4、调用方法
fmt.Println("hello world") // 语句结尾没有分号
}
运行
Alt+Shift+R
变量
程序运行期间可以改变的量,使用var关键字声明
声明
var 变量名 类型
命名规则
由字母、下划线、数字组成;
不能以数字开头;
不能是关键字。
初始化
声明变量同时赋值
var a int // 声明
a = 10 // 赋值
var b int = 10 // 初始化
自动推导类型
根据初始化的值确定变量类型
// 自动推导类型
c := 10
fmt.Printf("%T\n", c) // 打印变量c的类型,%T打印类型,\n换行
println
一段一段处理、顺序输出
fmt.Println(a, b)
printf
格式化输出
fmt.Printf("a=%d, b=%d, c=%d", a, b, c)
多重赋值
// 多重赋值
a, b := 10, 20
fmt.Printf("a=%d, b=%d\n", a, b)
// 交换ab两个变量的值
a, b = b, a
fmt.Printf("a=%d, b=%d\n", a, b)
匿名变量
"_"声明,丢弃数据不处理
// 匿名函数
var tmp int
tmp, _ = a, b // 通常用来接收函数返回值(go语言中,函数可以有多个返回值)
fmt.Println(tmp)
常量
程序运行期间不可以改变的量,使用const声明
声明
// 声明常量
const a int = 10
fmt.Println(a)
推导类型
// 推导类型
const b = 20
fmt.Printf("%T\n", b)
多个变量和常量的声明
// 多个不同类型变量声明
var (
a int
b float64
)
a, b = 10, 3.14
fmt.Printf("a=%d, b=%d\n", a, b)
// 多个不同类型常量声明
const (
c int = 10
d float64 = 3.14
)
fmt.Printf("c=%d, d=%d\n", c, d)
iota枚举
每隔一行自动累加1;
遇到const重置为0;
可以只写一个iota;
如果在同一行值一样
// iota(常量自动生成器)给常量赋值用,每隔一行,自动累加1
const (
a = iota // 0
b = iota // 1
c = iota // 2
)
fmt.Printf("a=%d, b=%d, c=%d\n", a, b, c)
// 遇到const重置为0
const d = iota // 0
fmt.Printf("d=%d\n", d)
// 可以只写一个iota
const (
a1 = iota // 0
b1 // 1
c1 // 2
)
fmt.Printf("a1=%d, b1=%d, c1=%d\n", a1, b1, c1)
// 如果在同一行值一样
const (
a2, b2, c2 = iota, iota, iota // 0
)
fmt.Printf("a2=%d, b2=%d, c2=%d\n", a2, b2, c2)
// TODO
不当之处,请予指正。