https://blog.csdn.net/wangshubo1989/article/details/73784907

概览

wiki

Go语言中文网

Golang标准库文档

Go 编程语言 - Chinese Translation of tip.golang.org

Go语言圣经(中文版)

笔记

在 Go 程序中,一行代表一个语句结束

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

// 当前程序的包名// 当前程序的包名
packagepackage main

main // 导入其他包// 导入其他包
importimport .. "fmt""fmt"

// 常量定义// 常量定义
constconst PI PI == 3.143.14

// 全局变量的声明和赋值// 全局变量的声明和赋值
varvar name name == "gopher""gopher"

// 一般类型声明// 一般类型声明
type newType type newType intint

// 结构的声明// 结构的声明
type gopher type gopher structstruct{}{}

// 接口的声明// 接口的声明
type golang type golang interfaceinterface{}{}

// 由main函数作为程序入口点启动// 由main函数作为程序入口点启动
func main func main()() {{
PrintlnPrintln(("Hello World!""Hello World!"))
}}

可见性规则

Go语言中,使用大小写来决定该常量、变量、类型、接口、结构或函数是否可以被外部包所调用。

1
2
3
4
5
6
7
//函数名首字母小写即为 private :

func getId() {}

//函数名首字母大写即为 public :

func Printf() {}

go 1.9版本对于数字类型,无需定义int及float32、float64,系统会自动识别。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package main

import "fmt"

func main() {
var C, c int //声明变量
C = 1
A:
for C < 100 {
C++ //C=1不能写入for这里就不能写入
for c = 2; c < C; c++ {
if C%c == 0 {
goto A //若发现因子则不是素数
}
}
fmt.Println(C, "是素数")
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package main

import "fmt"

func main() {
add_func := add(1, 2)
fmt.Println(add_func())
fmt.Println(add_func())
fmt.Println(add_func())
}

// 闭包使用方法
func add(x1, x2 int) func() (int, int) {
i := 0
return func() (int, int) {
i++
return i, x1 + x2
}
}