八小时Golang学习笔记📒
· 阅读需 3 分钟
from 【8小时转职Golang工程师(如果你想低成本学习Go语言)】
变量的声明
package main
import "fmt"
func main() {
// 1. 使用 var 声明
var a int
fmt.Println(a)
// 使用 b := 模式 (只能在函数体内使用)
b :=1
fmt.Println(b)
// 3.指定默认值
var c int = 10
fmt.Println(c)
// 4. var 推断模式 (全局变量通常)
var d =4
fmt.Println(d)
// 5. 多个变量声明
var aa ,bb,cc int
fmt.Println(aa,bb,cc)
var (
)
}
const 与 iota
package main
import "fmt"
const (
Bj= 0
Sh=1
)
const (
City = iota // iota 默认为零
Ah
Js
Sz
)
const (
B = 1 << (10*iota)
KB
MB
GB
)
// error code 错误码应用
const (
UserAuthErrorCode = 20000+iota
UserPasswordErrorCode
)
func main() {
const length = 1
fmt.Println(length)
}
Golang 中函数多返回值的三种模式
package main
func main() {
}
func HideName() (int, int) {
return 1, 2
}
// HaveName 会初始化默认值
func HaveName() (a int, b int) {
a = 1
b = 2
return
}
defer 语句调用顺序
函数结束前的执行的程序
栈模式 先进先出
package main
import "fmt"
func a() {
fmt.Println(a)
}
func b() {
fmt.Println(b)
}
func c() {
fmt.Println(c)
}
func main() {
defer a()
defer b()
defer c()
}
// c , b, a
