反射

反射和类型断言 1.反射简介反射机制:在编译时不知道类型的情况下,可更新变量、在运行时查看值、调用方法以及直接对它们的布局进行操作,反射也让我们可以把类型当做头等值通过反射获取类型信息在 Go 语言中通过调用 reflect.TypeOf 函数,我们可以从一个任何非接口类型的值创建一个 reflect.Type 值。reflect.Type 值表示着此非接口值的类型。通过此值,我们可以得到很多此非接口类型的信息。当

Go 接口

go 接口 1.接口是什么接口是一组方法签名。当一个类型为接口中的所有方法提供定义时,它被称为实现该接口 Interface{}可以理解成空接口,可以接收任意类型的参数接口类型是对其他类型行为的概括与抽象,Go 语言的接口在于它是隐式实现,对于一个具体的类型,无需声明它实现了哪些接口,只需要提供接口所必须的方法即可只要是实现了方法体 GetName 的结构体都是实现了 Animal 这个接口接口的实现 typeAni

结构体和匿名字段

结构体和匿名字段 1.结构体 Go 语言中数组切片可以存储同一类型的数据,但在结构体中可以为不同项定义不同的数据类型。结构体是由一系列具有不同类型的数据构成的数据集合。注意:结构体成员在定义时不能赋值 type 结构体名 struct{结构体成员名数据类型 ` 结构体标签 ` 结构体成员名数据类型结构体成员名数据类型}packagemainimport"fmt"typeStudentstruct{namestringa

函数和闭包和 recover 错误拦截

函数和闭包 1.函数执行流程在程序编译完后,函数会以计算机指令方式存储在代码区,在定义函数时指定的形参,在未出现函数调用时,它们并不占内存中的存储单元,函数的参数以及局部变量会在调用时加载到内存中。栈(stack)是现代计算机程序里最为重要的概念之一,几乎每一个程序都使用了栈,没有栈就没有函数,没有局部变量。栈被定义为一个特殊的容器,用户可以将数据压入栈中(入栈,push),也可以将压入栈中的数据弹出