引用:
第 9 课:函数 function ? | 课程列表 |《Go 编程基础(视频)》| Go 技术论坛 (learnku.com)
1.函数:
闭包:
defer匿名函数调用:如下例就是引用变量地址的情况,只有作为参数传入时才是值拷贝
recover使用:
2.结构:
struct定义及变量初始化:
匿名结构及指针:
嵌套匿名结构初始化:因为需要告诉系统结构的名称,所以对于嵌套的匿名结构没法像普通的结构那样初始化,需要通过如下的方式进行:
匿名字段:
结构组合:默认情况下系统会给嵌入结构赋予一个相同名称的字符名。
通过结构组合实现类似类继承的效果
同级别嵌入命名冲突的情况:
3.方法:
go编译器会根据方法的定义自动识别出是指针调用还是变量调用,所以可以直接用a.Print()调用, go语言不支持函数的重载。
method value及method expression调用
结构字段的Public及Private特性是包可见:即它只对非同一个包的调用才起效。
4.方法:
因为USB是接口类型,所以在Disconnect函数中无法直接使用usb.name打印名称。可以通过类型判断来实现这个目的,如下:
在go语言中有类似于其他语言中所有类的基类的类型即空 interface,即go所有类型都实现的空 interface.
switch type:通过type关键字告诉编译器自己去猜传递进来的实际是什么类型。
interface类型转换:只能把interface转换为超级的interface。
理解:将对象赋值给接口时会发生拷贝,该接口内部存储的是指向该拷贝的指针,通常情况即无法修改该拷贝的状态,也无法获取该指针。
理解:只有当接口存储的类型和对象都为nil时,接口才是nil
标签:函数,编程,接口,interface,匿名,go,结构 From: https://www.cnblogs.com/nick-qiu/p/17502127.html