63 lines
1.5 KiB
Go
63 lines
1.5 KiB
Go
// Copyright © 2018 Inanc Gumus
|
|
// Learn Go Programming Course
|
|
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
|
|
//
|
|
// For more tutorials : https://learngoprogramming.com
|
|
// In-person training : https://www.linkedin.com/in/inancgumus/
|
|
// Follow me on twitter: https://twitter.com/inancgumus
|
|
|
|
package main
|
|
|
|
import "fmt"
|
|
|
|
func main() {
|
|
phones := map[string]string{
|
|
"bowen": "202-555-0179",
|
|
"dulin": "03.37.77.63.06",
|
|
"greco": "03489940240",
|
|
}
|
|
|
|
products := map[int]bool{
|
|
617841573: true,
|
|
879401371: false,
|
|
576872813: true,
|
|
}
|
|
|
|
multiPhones := map[string][]string{
|
|
"bowen": {"202-555-0179"},
|
|
"dulin": {"03.37.77.63.06", "03.37.70.50.05", "02.20.40.10.04"},
|
|
"greco": {"03489940240", "03489900120"},
|
|
}
|
|
|
|
basket := map[int]map[int]int{
|
|
100: {617841573: 4, 576872813: 2},
|
|
101: {576872813: 5, 657473833: 20},
|
|
102: {},
|
|
}
|
|
|
|
// Print dulin's phone number.
|
|
who, phone := "dulin", "N/A"
|
|
if v, ok := phones[who]; ok {
|
|
phone = v
|
|
}
|
|
fmt.Printf("%s's phone number: %s\n", who, phone)
|
|
|
|
// Is Product ID 879401371 available?
|
|
id, status := 879401371, "available"
|
|
if !products[id] {
|
|
status = "not " + status
|
|
}
|
|
fmt.Printf("Product ID #%d is %s\n", id, status)
|
|
|
|
// What is Greco's second phone number?
|
|
who, phone = "greco", "N/A"
|
|
if phones := multiPhones[who]; len(phones) >= 2 {
|
|
phone = phones[1]
|
|
}
|
|
fmt.Printf("%s's 2nd phone number: %s\n", who, phone)
|
|
|
|
// How many of 576872813 the customer 101 is going to buy?
|
|
cid, pid := 101, 576872813
|
|
fmt.Printf("Customer #%d is going to buy %d from Product ID #%d.\n", cid, basket[cid][pid], pid)
|
|
}
|