計算機科学のブログ

Go - keep it to yourself - Encapsulation and Embedding - setter methods

Head First GoJay 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
%