Go - keep it to yourself - Encapsulation and Embedding - setter methods
Head First Go、 Jay McGavren(著)、O’Reilly Media)の Chapter 10(keep it to yourself - Encapsulation and Embedding)、p.295(Exercise)の解答を求めてみる。
コード
main.go
package main
import (
"fmt"
"geo/geo"
)
func main() {
coordinates := geo.Coordinates{}
coordinates.SetLatitude(37.42)
coordinates.SetLongitude(-122.08)
fmt.Println(coordinates)
}
コード
geo/geo.go
package geo
type Coordinates struct {
Latitude float64
Longitude float64
}
func (c *Coordinates) SetLatitude(latitude float64) {
c.Latitude = latitude
}
func (c *Coordinates) SetLongitude(longitude float64) {
c.Longitude = longitude
}
入出力結果(Terminal, Zsh)
% go run ./main.go
{37.42 -122.08}
% cat go.mod
module geo
go 1.23.4
%