diff --git a/eBook/10.8.md b/eBook/10.8.md index 21a8df0..8f7a5c3 100644 --- a/eBook/10.8.md +++ b/eBook/10.8.md @@ -26,4 +26,4 @@ func(obj *typeObj)需要一个typeObj类型的指针参数obj,特殊操作会 ## 链接 - [目录](directory.md) - 上一节:[10.7 类型的String()方法和格式化描述符](10.7.md) -- 下一节:[11.1 什么是接口](11.1.md) \ No newline at end of file +- 下一节:[11 接口(Interfaces)与反射(reflection)](11.0.md) \ No newline at end of file diff --git a/eBook/11.0.md b/eBook/11.0.md index e69de29..a402fba 100644 --- a/eBook/11.0.md +++ b/eBook/11.0.md @@ -0,0 +1,9 @@ +# 11 ӿڣInterfaces뷴䣨reflection + +½ Go нӿںͷݡ + +## + +- [Ŀ¼](directory.md) +- һ£[պSetFinalizer](10.8.md) +- һڣ[ӿʲô](11.1.md) diff --git a/eBook/11.1.md b/eBook/11.1.md new file mode 100644 index 0000000..8084898 --- /dev/null +++ b/eBook/11.1.md @@ -0,0 +1,33 @@ +# 11.1 ӿʲô + +Go Բһ *ͳ* ԣûͼ̳еĸ + + Go зdz **ӿ** ͨʵֺܶԡӿṩһַʽ **˵** Ϊ˭ܸ㶨£Ϳ + +ӿڶһ鷽Щʵ֣룺ûбʵ֣dzģӿҲܰ + +ͨ¸ʽӿڣ + +```go +type Namer interface { + Method1(param_list) return_type + Method2(param_list) return_type + ... +} +``` + + `Namer` һ **ӿ**. + +Լֻһģӿڵɷ `[e]r` ׺ɣ `Printer``Reader``Writer``Logger``Converter`ȵȡһЩõķʽ׺`er`ʱ`Recoverable`ʱӿ`able`β `I` ͷ `.NET` `Java` + +Go еĽӿڶܼ̣ͨǻ03 + +ԣ Go нӿڿֵһӿ͵ıһ **ӿֵ** `var ai Namer``ai`һ֣multiwordݽṹֵ `nil`һָ룬Ȼȫһ¡ָӿֵָǷǷģDzһҲûУᵼ´ + +![](images/11.1_fig11.1.jpg?raw=true) + +˴ķָͨʱ乹ġ + +- [Ŀ¼](directory.md) +- һ£[11 ӿڣInterfaces뷴䣨reflection](11.0.md) +- һڣ[ӿǶӿ](11.2.md) \ No newline at end of file diff --git a/eBook/images/11.1_fig11.1.jpg b/eBook/images/11.1_fig11.1.jpg new file mode 100644 index 0000000..c67564d Binary files /dev/null and b/eBook/images/11.1_fig11.1.jpg differ