開発環境
- macOS High Sierra - Apple (OS)
- Emacs (Text Editor)
- Go (プログラミング言語)
Introducing Go: Build Reliable, Scalable Programs (Caleb Doxsey (著)、O'Reilly Media)のChapter 7.(Structs and Interfaces)、Exercises(No. 1315)1.を取り組んでみる。
コード(Emacs)
package main
import "fmt"
type MyInt struct {
x int
}
// method
func (i *MyInt) double() int {
return 2 * i.x
}
func (i MyInt) double1() int {
return 2 * i.x
}
// functions
func double(i *MyInt) int {
return 2 * i.x
}
func double1(i MyInt) int {
return 2 * i.x
}
func main() {
a := MyInt{x: 10}
fmt.Println((&a).x, a.x)
b := MyInt{20}
var c MyInt
c.x = 30
xs := []MyInt{a, b, c}
for _, t := range xs {
fmt.Println(t, t.double(), t.double1(), double(&t), double1(t))
}
}
入出力結果(Terminal)
$ go run sample1.go
10 10
{10} 20 20 20 20
{20} 40 40 40 40
{30} 60 60 60 60
$
0 コメント:
コメントを投稿