File tree 2 files changed +68
-1
lines changed
2 files changed +68
-1
lines changed Original file line number Diff line number Diff line change 5
5
6
6
意义:分享知识,提升自己
7
7
8
+ 目标:为了找个java-go双语言开发的** 高工资** 职位
9
+
8
10
<h1 ><a href =" https://github.com/java-aodeng/golang-examples " >Go语言从入门到放弃</a ></h1 >
9
11
12
+ > 基础部分,看不懂的话,这边建议直接放弃
13
+
10
14
<a href =" https://github.com/java-aodeng/golang-examples/blob/master/go-01/1.md " >第01章 关于 Go 语言的介绍</a >
11
15
12
16
<a href =" https://github.com/java-aodeng/golang-examples/blob/master/go-02/1.md " >第02章 变量,常量以及与其他语言的差异</a >
21
25
22
26
<a href =" https://github.com/java-aodeng/golang-examples/blob/master/go-07/1.md " >第07章 Map 声明、元素访问及遍历</a >
23
27
28
+ > 简单部分,直接看代码,就不加注释了
24
29
25
30
[ 第08章 Map与工厂模式,在Go语言中实现Set] ( https://github.com/java-aodeng/golang-examples/blob/master/go-08/map_ext_test.go )
26
31
32
37
33
38
[ 第13章 Go语言的相关接口] ( https://github.com/java-aodeng/golang-examples/blob/master/go-13/interface_test.go )
34
39
35
- 第14章 扩展与复用
40
+ > 后面的逐渐有趣了,尽量加上注释:)
41
+
42
+ [ 第14章 扩展与复用] ( https://github.com/java-aodeng/golang-examples/blob/master/go-14/extension_test.go )
36
43
37
44
第15章 不一样的接口类型,一样的多态
38
45
Original file line number Diff line number Diff line change
1
+ package go_14
2
+
3
+ import (
4
+ "fmt"
5
+ "testing"
6
+ )
7
+
8
+ //go语言扩展类似java的继承 但又不完全是
9
+ //这是一只猪类
10
+ type Pig struct {
11
+ }
12
+
13
+ func (p * Pig ) Speak () {
14
+ fmt .Print ("我是猪" )
15
+ }
16
+
17
+ func (p * Pig ) MyNameIs (name string ) {
18
+ p .Speak ()
19
+ fmt .Print ("my name is" + name )
20
+ }
21
+
22
+ //这是一条狗类 继承于猪类
23
+ type Dog struct {
24
+ Pig
25
+ }
26
+
27
+ func (d * Dog ) Speak () {
28
+ //类似于java的重载
29
+ fmt .Print ("我不是猪,我是狗" )
30
+ }
31
+
32
+ func (d * Dog ) MyNameIs (name string ) {
33
+ d .Speak ()
34
+ fmt .Print ("my name is" + name )
35
+ }
36
+
37
+ //这是一个傻逼
38
+ type SB struct {
39
+ Pig
40
+ }
41
+
42
+ func (s * SB ) Speak () {
43
+ fmt .Print ("我是一个傻逼" )
44
+ }
45
+
46
+ func TestDog (t * testing.T ) {
47
+ dog := new (Dog )
48
+ dog .MyNameIs ("你爸爸" )
49
+
50
+ fmt .Print ("========\n " )
51
+
52
+ sb := new (SB )
53
+ sb .MyNameIs ("你爷爷" )
54
+ }
55
+
56
+ //运行结果
57
+ //=== RUN TestDog
58
+ //我不是猪,我是狗my name is你爸爸========
59
+ //我是猪my name is你爷爷--- PASS: TestDog (0.00s)
60
+ //PASS
You can’t perform that action at this time.
0 commit comments