非 go 语言深入教程,只是作一个笔记整理,方便在使用时,能快速的编写代码; 其中罗列了编程语言中最基本的:环境安装,变量,函数,if/else, for 循环, 集合类使用,以及go语言的基本特性
导入包
两种方式
1 | // 第一种方式 |
不可以有冗余 import,如果发现 import 的包在代码中没有使用,那么
访问权限
不同于 Java 有对应的 public,private 等关键字,go 中,只有包中的变量或方法是以大写字母开头的,才可以被外部引用
变量
- 使用
var
关键字定义变量, 后面是变量名称, 变量类型在最后面 - 初始化变量,可以不声明类型,go 可以根据初始化的值,推断变量类型
- 在函数中定义的变量,同时进行赋值,只是在函数中使用,有更简单的声明方式
定义
1 | var i int |
初始化
1 | var i, j int = 1, 2 |
函数中的短变量声明
1 | func main() { |
外部变量,分组声明
类似外部 import 导入一样,外部变量也可以分组声明
1 | package main |
基本类型变量的默认值
string 类型的默认值是 “” ,而不是 nil
类型转换
需要显式声明,加强了编译时检测
1 | var i int = 42 // 定义变量 |
方法定义
func
关键字定义方法,不同于 kotlin 中的fun
…- 返回值类型在括号后面…
- 函数中的参数,如果出现连续两个及以上,类型相同,则可以只写最后一个参数的类型
- 返回值可以有多个,用()包裹
- 在函数定义时,可以定义返回值变量,其在函数内可以直接使用, 最后以 return 语句结,较大的函数中不推荐使用,可读性差
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25package main
import "fmt"
func add(x int, y int) int {
// func add(x, y int) int { // 等价的
return x + y
}
// 返回值可以有多个
func swap(x, y string) (string, string) {
return y, x
}
// 在函数定义时,定义返回值变量, 其在函数内可以直接使用, 最后以 return 语句结束
func split(sum int) (x, y int) {
x = sum * 4 / 9
y = sum - x
return // return 语句不能省略
}
func main() {
fmt.Println(add(42, 13))
}