開発環境
- macOS High Sierra - Apple (OS)
- Emacs (Text Editor)
- Go (プログラミング言語)
- Introducing Go: Build Reliable, Scalable Programs Caleb Doxsey (著) (参考書籍)
Head First C ―頭とからだで覚えるCの基本 (David Griffiths (著)、Dawn Griffiths (著)、中田 秀基 (監修)、木下 哲也 (翻訳)、オライリージャパン)の5章(構造体、共用体、ビットフィールド - 独自の構造を使う)、自分で考えてみよう(p. 239)をGoで取り組んでみる。
自分で考えてみよう(p. 239)
コード(Emacs)
package main import "fmt" type Turtle struct { name string species string age int } func happyBirthday0(t Turtle) { t.age += 1 fmt.Printf("誕生日おめでとう、%s!これで%d才ですね!\n", t.name, t.age) } func (t Turtle) happyBirthday0() { t.age += 1 fmt.Printf("誕生日おめでとう、%s!これで%d才ですね!\n", t.name, t.age) } func happyBirthday(t *Turtle) { t.age += 1 fmt.Printf("誕生日おめでとう、%s!これで%d才ですね!\n", t.name, t.age) } func (t *Turtle) happyBirthday() { t.age += 1 fmt.Printf("誕生日おめでとう、%s!これで%d才ですね!\n", t.name, t.age) } func main() { myrtle := Turtle{"マートル", "オサガメ", 99} happyBirthday0(myrtle) fmt.Printf("%sの年齢は%d才です。\n", myrtle.name, myrtle.age) myrtle.happyBirthday0() fmt.Printf("%sの年齢は%d才です。\n", myrtle.name, myrtle.age) happyBirthday(&myrtle) fmt.Printf("%sの年齢は%d才です。\n", myrtle.name, myrtle.age) myrtle.happyBirthday() fmt.Printf("%sの年齢は%d才です。\n", myrtle.name, myrtle.age) fmt.Println() myrtle1 := &Turtle{"マートル", "オサガメ", 99} happyBirthday0(*myrtle1) fmt.Printf("%s才の年齢は%d才です。\n", myrtle1.name, myrtle1.age) myrtle1.happyBirthday0() fmt.Printf("%s才の年齢は%d才です。\n", myrtle1.name, myrtle1.age) happyBirthday(myrtle1) fmt.Printf("%s才の年齢は%d才です。\n", myrtle1.name, myrtle1.age) myrtle1.happyBirthday() fmt.Printf("%s才の年齢は%d才です。\n", myrtle1.name, myrtle1.age) }
入出力結果(Terminal)
$ go run sample4.go 誕生日おめでとう、マートル!これで100才ですね! マートルの年齢は99才です。 誕生日おめでとう、マートル!これで100才ですね! マートルの年齢は99才です。 誕生日おめでとう、マートル!これで100才ですね! マートルの年齢は100才です。 誕生日おめでとう、マートル!これで101才ですね! マートルの年齢は101才です。 誕生日おめでとう、マートル!これで100才ですね! マートル才の年齢は99才です。 誕生日おめでとう、マートル!これで100才ですね! マートル才の年齢は99才です。 誕生日おめでとう、マートル!これで100才ですね! マートル才の年齢は100才です。 誕生日おめでとう、マートル!これで101才ですね! マートル才の年齢は101才です。 $
0 コメント:
コメントを投稿