概要
golang でオブジェクト指向を意識したサンプルコードを書いてみました
環境
- CentOS 6.7 64bit
- golang 1.6
サンプルコード
こんな感じで interface と struct を使えば、簡単なオブジェクト指向なら簡単に書けます
package main
import (
"fmt"
)
type Person interface {
Say()
}
type SuperPerson struct {
Name string
Age int
}
func (sp *SuperPerson) Say() {
fmt.Printf("I am %s, I am %d\n", sp.Name, sp.Age)
}
func (sp *SuperPerson) SetAge(age int) {
sp.Age = age
}
func main() {
sp := SuperPerson{"hawk", 30}
sp.Say()
sp.SetAge(32)
sp.Say()
sp2 := new(SuperPerson)
sp2.Name = "snow"
sp2.SetAge(20)
sp2.Age = 22
sp2.Say()
}
最後に
勉強したので備忘録として残りしておきます
golang はオブジェクト指向言語ではないので、あまり使いすぎるのは要注意です
いろいろと調べるとわかりますが、継承とかやろうとするとハマるようです
0 件のコメント:
コメントを投稿