34 lines
		
	
	
		
			647 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			647 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package main
 | |
| 
 | |
| import "fmt"
 | |
| 
 | |
| // ---------------------------------------------------------
 | |
| // EXERCISE: Refactor
 | |
| //
 | |
| //   In the headerOf function, instead of using a switch,
 | |
| //   use a map. Declare it at the package-level.
 | |
| //
 | |
| // RESTRICTION
 | |
| //
 | |
| //   For panicking, use a deferred function and a named param.
 | |
| //
 | |
| // EXPECTED OUTPUT
 | |
| //
 | |
| //   Please run the solution.
 | |
| //
 | |
| // ---------------------------------------------------------
 | |
| 
 | |
| func main() {
 | |
| 	fmt.Println(headerOf("gif"))
 | |
| }
 | |
| 
 | |
| func headerOf(format string) string {
 | |
| 	switch format {
 | |
| 	case "png":
 | |
| 		return "\x89PNG\r\n\x1a\n"
 | |
| 	case "jpg":
 | |
| 		return "\xff\xd8\xff"
 | |
| 	}
 | |
| 	panic("unknown format: " + format)
 | |
| }
 |