Go 笔记(一)
Go 语言之旅
包
golang 从main包开始
导包使用import 关键字
- 单个导入
- 多个导入
导出名,在别的package下调用,使用大写表示导出名
函数
-
func func_name(param1, param2 Type) Type
-
函数名,参数类型,返回值类型
-
参数类型相同时,可以只写一个参数类型,编译器代做推断,果然是大道至简
-
可以返回多个值
-
命名返回值,返回值可以直接在函数定义的时间进行命名
-
变量,使用var 声明
-
变量初始化,如果初始值存在,可以省略类型不写,大道至简,golang来帮你实现
-
短变量声明
number := 100不能在函数外使用 -
基本数据类型
- bool
- string
- int
- int8
- int16
- int32
- int64
- unit
- unit8
- unit16
- unit32
- unit64
- uintptr
- byte
- rune
- float32
- float64
- complex64
- complex128
-
类型转换
var i int = 42 var f float64 = float64() var u uint = uint(f) //或者 i := 42 f := float64(i -
const 关键字
控制结构
-
for 循环
package main import "fmt" func main() { sum := 0 for i := 0; i < 10; i++ { sum += i } fmt.Println(sum) } // "while" package main import "fmt" func main() { sum := 1 for sum < 1000 { sum += sum } fmt.Println(sum) } -
for{} 无线循环
-
if condition {}
- else
-
switch: go自动提供了每个case 后面的break
-
没有条件的 switch 同
switch true一样 -
defer 语句会将函数推迟到外层函数返回之后执行
-
推迟的函数调用会被压入一个栈中。当外层函数返回时,被推迟的函数会按照后进先出的顺序调用

浙公网安备 33010602011771号