// Copyright 2012 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.

package main

import (
	"fmt"
	"math"
)

func InterfaceExample() {
	var i interface{}
	i = "a string"
	i = 2011
	i = 2.777

	// STOP OMIT

	r := i.(float64)
	fmt.Println("the circle's area", math.Pi*r*r)

	// STOP OMIT

	switch v := i.(type) {
	case int:
		fmt.Println("twice i is", v*2)
	case float64:
		fmt.Println("the reciprocal of i is", 1/v)
	case string:
		h := len(v) / 2
		fmt.Println("i swapped by halves is", v[h:]+v[:h])
	default:
		// i isn't one of the types above
	}

	// STOP OMIT
}

func main() {
	InterfaceExample()
}
