40 lines
		
	
	
		
			666 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			666 B
		
	
	
	
		
			Go
		
	
	
	
// Copyright 2014 The Go Authors. All rights reserved.
 | 
						|
// Use of this source code is governed by a BSD-style
 | 
						|
// license that can be found in the LICENSE file.
 | 
						|
 | 
						|
// Simple test: enumeration of type int starting at 0.
 | 
						|
 | 
						|
package main
 | 
						|
 | 
						|
import "fmt"
 | 
						|
 | 
						|
type Day int
 | 
						|
 | 
						|
const (
 | 
						|
	Monday Day = iota
 | 
						|
	Tuesday
 | 
						|
	Wednesday
 | 
						|
	Thursday
 | 
						|
	Friday
 | 
						|
	Saturday
 | 
						|
	Sunday
 | 
						|
)
 | 
						|
 | 
						|
func main() {
 | 
						|
	ck(Monday, "Monday")
 | 
						|
	ck(Tuesday, "Tuesday")
 | 
						|
	ck(Wednesday, "Wednesday")
 | 
						|
	ck(Thursday, "Thursday")
 | 
						|
	ck(Friday, "Friday")
 | 
						|
	ck(Saturday, "Saturday")
 | 
						|
	ck(Sunday, "Sunday")
 | 
						|
	ck(-127, "Day(-127)")
 | 
						|
	ck(127, "Day(127)")
 | 
						|
}
 | 
						|
 | 
						|
func ck(day Day, str string) {
 | 
						|
	if fmt.Sprint(day) != str {
 | 
						|
		panic("day.go: " + str)
 | 
						|
	}
 | 
						|
}
 |