package main
import "fmt"

// const R int = 0;
// const G uint = 1;
// const B = 2;
// const Fred = "Fred";
// const Mary = "Mary";
// const Jane = "Jane";
// const S = 0;
// const T = 0;
// const USA = "USA";
// const U = "USA";
// const V = 3.1;
// const W = 3.1;
// 
// func main() {
//      fmt.Println( Mon, Tue, Wed )
// } // main


const ( R int = 0; G = 3; B = 3; TT = 3 ) // implicit: 0 3 3
const ( Fred string = "Fred"; Mary = "Mary"; Jane = "Jane" ) // Fred Mary Jane
const ( H = 0; Jack = "Jack"; J; K = 0; I ) // type change, implicit: 0 Jack Jack
const ( C = iota + G; M = iota; Y )
const ( Mon = iota; Tue; Wed; // 0, 1, 2
	Thu = 10; Fri = iota - Wed + Thu - 1; Sat; Sun = 0 ) // 10, 11, 12, 13
const ( O1 = iota + 1; _; O3; _; O5 ) // 1, 3, 5
const ( V1 = iota; V2; V3 = 7; V4 = iota + 1; V5 )
const ( S = 0; T; USA = "USA"; U; V = 3.1; W )
const ( D = 1.5; E );

const ( AA int = 3; KK; BB float32 = 3.5; CC = 3.9 );
type BigInt int64

func main() {
	fmt.Println( "Go:")
	if 3 == R {};
	fmt.Println( AA, KK, BB, CC )
	fmt.Println( R, G, B )
	fmt.Println( Fred, Mary, Jane )
	fmt.Println( H, Jack, J, K, I )
	fmt.Println( C, M, Y )
	fmt.Println( Mon, Tue, Wed, Thu, Fri, Sat, Sun )
	fmt.Println( O1, O3, O5 )
	fmt.Println( V1, V2, V3, V4, V5 )
	fmt.Println( S, T, USA, U, V, W )

	day := Mon;
	day = Sun;

	switch day {
	  case Mon, Tue, Wed, Thu, Fri:
		fmt.Println( "weekday" );
	  case Sat:
		fmt.Println( "weekend" );
	}
	for i := Mon; i <= Sun; i += 1 {
	    fmt.Println( i )
	}
	fmt.Println(B < TT);
} // main

// go build test.go
