Golang基础复习之易忘知识汇总

1 标识符命名特点和规范

1.命名规范:(1) 由字母a-z,0-9和 _ 组成

(2) 数字不能开头

(3)严格区分大小写

(4)不能包含空格

(5)下划线"_"为空标识符,它对应的值会被忽略,可在for-range中使用

(6)不能使用系统保留关键字作标识符,如break,if

2.包名和目录名应尽量保持一致

3.变量名、函数名、常量名尽量使用驼峰法

如:stuName

4.若变量名、函数名、常量名首字母大写,则可以被其他的包访问,首字母大写为公有,小写为私有

2 变量

1.反引号会对字符串进行原生形式输出,包括换行等转义字符

例: str := abc\n

2.数据类型转换:T(V)

T:要转成的类型,V:被转变量名

3.指针有类型限制,需要匹配值类型

4.值类型和引用类型:值类型-数组、结构体

引用类型-指针、切片、map、管道channel、接口interface

值类型:变量直接存储值,内存在栈中分配

引用类型:变量存储地址,地址对应的空间存储值,内存在栈中分配。没有变量引用该地址,改地址对 应数据空间被回收。

5.自定义类型

type myInt int

3 输入

scanln :获取一行的输入

scanf:获取格式化输入 scanf无法分多行输入,它会把回车符当做输入字符处理。

4 函数

1.defer:延迟执行,后定先执行

2.函数可作为变量,也可作为参数

3.闭包=函数+外层变量的引用

4.内置函数:close-关闭channel

len-求长度

new-给值类型分配内存,返回指针

make-给引用类型分配内存

append-追加元素到切片

panic和recover:错误处理

遇到panic程序会异常退出

5.函数会先在内层寻找局部变量,找不到时会到外层寻找全局变量

5 go module模式

新建一个项目,需要在项目路径下通过 go mod init 项目名对项目进行初始化。

项目需要第三方包时,可用require 域名/xx/xx引入第三方库

项目中执行go get可以下载依赖包

go mod tidy:清楚无用依赖

6 Map

基本语法: var xx = make (map[keytype]valuetype,可用空间)

判断某个键是否存在: v,ok := Map名[键名]

若键名存在则ok为true,若不存在则为false

map是无序的,与添加顺序无关,可通过对键名排序来事先顺序输出

map删除键值对:

delete(map,key)

常用包内函数

unsafe.Sizeof():输出变量所占字节数

math.sqrt(x) :返回x的平方根,x为float64

rand.Intn(n): 返回取值在0~n的伪随机数,不包括n

你可能感兴趣的:(算法,开发语言,go,golang,学习)