이번 편의 목표: 제목과 연체 일수를 하나의 책 값으로 묶습니다.

struct는 필드의 묶음입니다. 필드 이름은 대문자로 시작하면 다른 패키지에서도 쓸 수 있습니다. 이 편은 main 한 파일이지만, 11편에서 패키지를 나눌 때 같은 규칙을 씁니다.

Go
package main

import "fmt"

type Book struct {
	Title string
	Days  int
}

func main() {
	book := Book{Title: "생각나무", Days: 2}
	fee := 0
	if book.Days > 0 {
		fee = book.Days * 100
	}
	fmt.Println(book.Title, fee)
}

출력은 생각나무 200입니다. 필드는 이름으로 넣었으므로 순서를 바꿔 적어도 같은 값입니다. Days가 0 이하이면 연체료는 0입니다. fmt.Println에 값을 두 개 넘기면 사이에 공백이 들어갑니다.

계산을 구조체 옆에 붙이는 일은 다음 편의 메서드입니다. 이 편은 데이터만 한 값으로 모읍니다.

직접 해 보기

Days를 4로 바꿔 출력이 생각나무 400인지 확인하세요.

해설

하루 100원이고 4일이므로 400입니다. Title은 바꾸지 않습니다.