44 lines
		
	
	
		
			976 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			976 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| // For more tutorials: https://blog.learngoprogramming.com
 | |
| //
 | |
| // Copyright © 2018 Inanc Gumus
 | |
| // Learn Go Programming Course
 | |
| // License: https://creativecommons.org/licenses/by-nc-sa/4.0/
 | |
| //
 | |
| 
 | |
| package main
 | |
| 
 | |
| // import "fmt"
 | |
| 
 | |
| func main() {
 | |
| 	var (
 | |
| 		mobydick  = book{title: "moby dick", price: 10, readTime: 10}
 | |
| 		minecraft = game{title: "minecraft", price: 20, playTime: 5}
 | |
| 		tetris    = game{title: "tetris", price: 5, playTime: 2}
 | |
| 		rubik     = puzzle{title: "rubik's cube", price: 5}
 | |
| 	)
 | |
| 
 | |
| 	var store list
 | |
| 	store = append(store, &minecraft, &tetris, mobydick, rubik)
 | |
| 	// tetris.discount(.8)
 | |
| 	// store.print()
 | |
| 
 | |
| 	store.discount(.5)
 | |
| 	store.print()
 | |
| 
 | |
| 	// t := store.time()
 | |
| 	// fmt.Printf("Total entertainment time: %d hours\n", t)
 | |
| 
 | |
| 	// games := store[:2]
 | |
| 	// other := store[2:]
 | |
| 	// games.print()
 | |
| 	// other.print()
 | |
| 	// list{games, other}.print()
 | |
| 
 | |
| 	// var b *book
 | |
| 
 | |
| 	// var np printer
 | |
| 	// np = b
 | |
| 	// // p := printer(puzzle{title: "sidewinder", price: 10})
 | |
| 	// fmt.Println(np == nil)
 | |
| }
 |