| 
									
										
										
										
											2019-05-05 00:41:44 +03:00
										 |  |  | // Copyright © 2018 Inanc Gumus | 
					
						
							|  |  |  | // Learn Go Programming Course | 
					
						
							|  |  |  | // License: https://creativecommons.org/licenses/by-nc-sa/4.0/ | 
					
						
							|  |  |  | // | 
					
						
							| 
									
										
										
										
											2019-10-30 19:34:44 +03:00
										 |  |  | // For more tutorials  : https://learngoprogramming.com | 
					
						
							|  |  |  | // In-person training  : https://www.linkedin.com/in/inancgumus/ | 
					
						
							|  |  |  | // Follow me on twitter: https://twitter.com/inancgumus | 
					
						
							| 
									
										
										
										
											2019-05-05 00:41:44 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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{ | 
					
						
							| 
									
										
										
										
											2019-05-05 00:47:55 +03:00
										 |  |  | 		"bowen": {"202-555-0179"}, | 
					
						
							|  |  |  | 		"dulin": {"03.37.77.63.06", "03.37.70.50.05", "02.20.40.10.04"}, | 
					
						
							|  |  |  | 		"greco": {"03489940240", "03489900120"}, | 
					
						
							| 
									
										
										
										
											2019-05-05 00:41:44 +03:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	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) | 
					
						
							|  |  |  | } |