| 
									
										
										
										
											2019-08-20 19:03:57 +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-08-20 19:03:57 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | package main | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func main() { | 
					
						
							|  |  |  | 	var ( | 
					
						
							| 
									
										
										
										
											2019-08-21 20:38:38 +03:00
										 |  |  | 		// mobydick  = book{title: "moby dick", price: 10} | 
					
						
							| 
									
										
										
										
											2019-08-20 19:03:57 +03:00
										 |  |  | 		minecraft = game{title: "minecraft", price: 20} | 
					
						
							|  |  |  | 		tetris    = game{title: "tetris", price: 5} | 
					
						
							|  |  |  | 	) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-21 23:53:47 +03:00
										 |  |  | 	var items []*game | 
					
						
							|  |  |  | 	items = append(items, &minecraft, &tetris) | 
					
						
							| 
									
										
										
										
											2019-08-20 19:03:57 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-21 20:38:38 +03:00
										 |  |  | 	// you can attach methods to a compatible type on the fly: | 
					
						
							| 
									
										
										
										
											2019-08-21 23:53:47 +03:00
										 |  |  | 	// items -> []*game | 
					
						
							|  |  |  | 	// list  -> []*game | 
					
						
							|  |  |  | 	my := list(items) | 
					
						
							| 
									
										
										
										
											2019-08-21 20:38:38 +03:00
										 |  |  | 	// my = nil | 
					
						
							| 
									
										
										
										
											2019-08-20 19:03:57 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-21 23:53:47 +03:00
										 |  |  | 	// you can call methods even on a nil value | 
					
						
							|  |  |  | 	my.print() | 
					
						
							| 
									
										
										
										
											2019-08-21 20:38:38 +03:00
										 |  |  | } |