package main import ( "fmt" ) type Desk struct{ Capacity, Used int } func (d *Desk) Accept(amount int) bool { if d == nil || d.Capacity < 0 || d.Used < 0 || d.Used > d.Capacity || amount <= 0 || amount > d.Capacity-d.Used { return false } d.Used += amount return true } func main() { desk := Desk{Capacity: 5, Used: 2} fmt.Println(desk.Accept(2), desk.Used) fmt.Println(desk.Accept(2), desk.Used) }