mirror of
https://github.com/bootdotdev/fcc-learn-golang-assets.git
synced 2025-12-18 19:21:17 +00:00
first
This commit is contained in:
97
course/4-structs/exercises/2-nested_structs/complete.go
Normal file
97
course/4-structs/exercises/2-nested_structs/complete.go
Normal file
@@ -0,0 +1,97 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
type messageToSend struct {
|
||||
message string
|
||||
sender user
|
||||
recipient user
|
||||
}
|
||||
|
||||
type user struct {
|
||||
name string
|
||||
number int
|
||||
}
|
||||
|
||||
func canSendMessage(mToSend messageToSend) bool {
|
||||
if mToSend.recipient.number == 0 {
|
||||
return false
|
||||
}
|
||||
if mToSend.sender.number == 0 {
|
||||
return false
|
||||
}
|
||||
if mToSend.recipient.name == "" {
|
||||
return false
|
||||
}
|
||||
if mToSend.sender.name == "" {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// don't touch below this line
|
||||
|
||||
func test(mToSend messageToSend) {
|
||||
fmt.Printf(`sending "%s" from %s (%v) to %s (%v)...`,
|
||||
mToSend.message,
|
||||
mToSend.sender.name,
|
||||
mToSend.sender.number,
|
||||
mToSend.recipient.name,
|
||||
mToSend.recipient.number,
|
||||
)
|
||||
fmt.Println()
|
||||
if canSendMessage(mToSend) {
|
||||
fmt.Println("...sent!")
|
||||
} else {
|
||||
fmt.Println("...can't send message")
|
||||
}
|
||||
fmt.Println("====================================")
|
||||
}
|
||||
|
||||
func main() {
|
||||
test(messageToSend{
|
||||
message: "you have an appointment tommorow",
|
||||
sender: user{
|
||||
name: "Brenda Halafax",
|
||||
number: 16545550987,
|
||||
},
|
||||
recipient: user{
|
||||
name: "Sally Sue",
|
||||
number: 19035558973,
|
||||
},
|
||||
})
|
||||
test(messageToSend{
|
||||
message: "you have an event tommorow",
|
||||
sender: user{
|
||||
number: 16545550987,
|
||||
},
|
||||
recipient: user{
|
||||
name: "Suzie Sall",
|
||||
number: 0,
|
||||
},
|
||||
})
|
||||
test(messageToSend{
|
||||
message: "you have an party tommorow",
|
||||
sender: user{
|
||||
name: "Njorn Halafax",
|
||||
number: 16545550987,
|
||||
},
|
||||
recipient: user{
|
||||
name: "Sally Sue",
|
||||
number: 19035558973,
|
||||
},
|
||||
})
|
||||
test(messageToSend{
|
||||
message: "you have a birthday tommorow",
|
||||
sender: user{
|
||||
name: "Eli Halafax",
|
||||
number: 0,
|
||||
},
|
||||
recipient: user{
|
||||
name: "Whitaker Sue",
|
||||
number: 19035558973,
|
||||
},
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user