開発環境
- 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 コメント:
コメントを投稿