2018年9月18日火曜日

開発環境

Head First C ―頭とからだで覚えるCの基本 (David Griffiths (著)、Dawn Griffiths (著)、中田 秀基 (監修)、木下 哲也 (翻訳)、オライリージャパン)の5章(構造体、共用体、ビットフィールド - 独自の構造を使う)、エクササイズ(p. 233)をGoで取り組んでみる。

エクササイズ(p. 233)

コード(Emacs)

package main

import "fmt"

type Equipment struct {
 tankCapacity float64
 tankPsi      int
 suitMaterial string
}
type Diver1 struct {
 name string
 kit  Equipment
}

func badge1(d Diver1) {
 fmt.Printf(
  "名前: %s タンク: %2.2f(%d) スーツ: %s\n",
  d.name, d.kit.tankCapacity, d.kit.tankPsi, d.kit.suitMaterial)
}

type Diver2 struct {
 name string
 Equipment
}

func badge2(d Diver2) {
 fmt.Printf(
  "名前: %s タンク: %2.2f(%d) スーツ: %s\n",
  d.name, d.tankCapacity, d.tankPsi, d.suitMaterial)
}
func main() {
 randy1 := Diver1{"ランディ1", Equipment{5.5, 3500, "ネオプレン"}}
 randy2 := Diver2{"ランディ2", Equipment{5.5, 3500, "ネオプレン"}}

 badge1(randy1)
 badge2(randy2)

}

入出力結果(Terminal)

$ go run sample3.go
名前: ランディ1 タンク: 5.50(3500) スーツ: ネオプレン
名前: ランディ2 タンク: 5.50(3500) スーツ: ネオプレン
$

0 コメント:

コメントを投稿