不当凡客
天津大学 | 电子信息
Go内存管理与分配 Go内存管理与分配
Go内存管理与分配Go内存管理Go内存会分成堆区(Heap)和栈区(Stack)两个部分,程序在运行期间可以主动从堆区申请内存空间,这些内存由内存分配器分配并由垃圾收集器负责回收。栈区的内存由编译器自动进行分配和释放,栈区中存储着函数的参数
2021-11-18
Go Defer Go Defer
DeferDeferdefer的执行顺序多个defer出现的时候,它是一个“栈”的关系,也就是先进后出。一个函数中,写在前面的defer会比写在后面的defer调用的晚。 func main() { defer func1()
2021-11-18
Go GC Go GC
Go GCGo GC“GC Roots” 的对象选择JAVA的GC Root对象选择 虚拟机栈(栈帧中的本地变量表)中引用的对象; 本地方法栈(Native 方法)中引用的对象; 方法区中类静态属性引用的对象; 方法区中常量引用的对象;
2021-11-18
Go Contex Go Contex
Go ContexContexcontext包能够提供一个请求从API请求边界到各goroutine的请求域数据传递、取消信号及截至时间等能力。详细原理请看下文。 在 Go 语言中 context 包容许您传递一个 “context” 到您
2021-11-18
Go指针 Go指针
指针指针unsafe.Pointerunsafe.Pointer的定义 从unsate.Pointer的定义如下,从定义中我们可以看出,Pointer的本质是一个int的指针: type ArbitraryType int type Poi
2021-11-18
GO基本数据类型 GO基本数据类型
GO基本数据类型GO基本数据类型整型//按长度分 int8 int16 int32 int64 //按有无符号分 uint8 uint16 uint32 uint64 //提供了平台自动匹配长度的int类型和uint类型 int uint
2021-11-18
Go 内存四区 Go 内存四区
内存四区内存四区概念:A.数据类型本质:​ 固定内存大小的别名 B. 数据类型的作用:​ 编译器预算对象(变量)分配的内存空间大小。 C.内存4区 流程说明 1、操作系统把物理硬盘代码load到内存 2、操作系统把c代码分成四
2021-11-18
Go接口 interface Go接口 interface
Go接口 interfaceGo接口 interface声明type People interface { Speak(string) string //method(parama)(return param) } //实现接口
2021-11-18
Go 排序 Go 排序
排序对整数,浮点数,字符串切片排序对于[]int, []float, []string这种元素类型是基础类型的切片使用sort包提供的下面几个函数进行排序。 具体实现见sort.Interface的IntSlice和Float64Slice
2021-11-18
Go 反射 Go 反射
Go 反射Go 反射通过反射可以获取丰富的类型信息,并可以利用这些类型信息做非常灵活的工作。 支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、类型信息、结构体信息等整合到可执行文件中,并给程序提供接口访问反射信息,这样就可以在程
2021-11-18
Go结构体 Go结构体
Go结构体Go结构体定义type user struct { age int name string } 初始化//方式1 new方式,返回指针类型*T u2 := new(user) //方式2 var的方式,返回T类型
2021-11-18
Go switch 语句 Go switch 语句
switch 语句switch 语句不需要breakgo会帮你隐式break掉。 case表达式的结果类型的转换要求case表达式的结果能转换为switch表示式结果的类型 并且如果switch或case表达式的是无类型的常量时,会被自动转
2021-11-18
2 / 3