質問編集履歴
3
脱字訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
インターフェイス/
|
1
|
+
インターフェイス/interfaceとコンセプト/conceptの違いについて教えてください。
|
2
2
|
Go言語ではこの[サイト](http://cuto.unirita.co.jp/gostudy/post/interface/)に従ってインターフェイスの使用例を実装してみると、
|
3
3
|
|
4
4
|
```go
|
2
コードを若干見やすくした
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
type Cat struct {}
|
16
16
|
|
17
|
-
func (
|
17
|
+
func (dog *Dog) Cry() {
|
18
18
|
fmt.Println("わんわん")
|
19
19
|
}
|
20
20
|
|
@@ -22,9 +22,9 @@
|
|
22
22
|
fmt.Println("にゃーにゃー")
|
23
23
|
}
|
24
24
|
|
25
|
-
func letCry(
|
25
|
+
func letCry(animal Animal) {
|
26
26
|
fmt.Println("鳴け!")
|
27
|
-
|
27
|
+
animal.Cry()
|
28
28
|
}
|
29
29
|
|
30
30
|
func main() {
|
1
リンクを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -35,7 +35,7 @@
|
|
35
35
|
}
|
36
36
|
```
|
37
37
|
|
38
|
-
こんな感じになり、Nimではコンセプトという機能を使った例として、
|
38
|
+
こんな感じになり、Nimではコンセプトという機能を使った[例](https://gist.github.com/PhilipWitte/33819b40112a18c30b43)として、
|
39
39
|
|
40
40
|
```nim
|
41
41
|
type Animal = concept x
|