golang学习笔记(二)变量、常量声明和赋值
2022-11-08 本文已影响0人
NIIIICO
1、文档
2、注意
(1)go以包作为管理单位
(2)每个文件必须声明包
(3)程序必须有一个main包
(4)语句结尾没有 ";"
// 1、go以包作为管理单位
// 2、每个文件必须声明包
// 3、程序必须有一个main包
package main
import "fmt"
// func main() // "{" 必须和函数名同行,这种的写法是有问题的
// {
// fmt.Println("hello world!!!")
// }
func main() {
// 语句结尾没有 ";"
fmt.Println("hello world!!!")
}
3、编译、运行
go build xxx.go // 编译为可执行文件
go run xxx.go // 不生成可执行文件,直接运行
4、变量声明、赋值
(1)包声明了,必须使用
(2)变量声明了,必须使用,变量支持自动推导
package main
import "fmt"
// 包声明了,必须使用
// 变量声明了,必须使用 变量支持自动推导
func main() {
var a int // 声明
a = 10 // 赋值
var b int = 20 // 声明并赋值
var c = 30 // 类型推导
d := 40 // 类型推导
e, f := 50, 60 // 多重赋值
var ( // 多个声明
g = 70
h = 80
)
fmt.Printf("a:%T, b:%T, c:%T, d:%T, e:%T, f:%T, g:%T, h:%T \n", a, b, c, d, e, f, g, h)
fmt.Printf("a:%d, b:%d, c:%d, d:%d, e:%d, f:%d, g:%d, h:%d \n", a, b, c, d, e, f, g, h)
e, f = f, e // 交换e,f的值
fmt.Printf("e:%d, f:%d \n", e, f)
_, i, _ := test() // 匿名变量,如返回结果只需要使用第二个值
fmt.Printf("i:%d \n", i)
}
func test() (a, b, c int) {
return 1, 2, 3
}
5、常量
自动推导不能写 ":"
package main
import "fmt"
func main() {
const a int = 1
const b = 2 //自动推导不能写 :
const (
c = 3
d = 4
)
fmt.Printf("a:%T, b:%T, c:%T, d:%T\n", a, b, c, d)
fmt.Printf("a:%d, b:%d, c:%d, d:%d\n", a, b, c, d)
}