// code_002_basedata project main.go
package main

import (
	"fmt"
)

type Power struct {
	age  int
	high int
	name string
}

func main() {
	var str string
	str = "abc"
	ch := str[0]

	fmt.Printf("str= %s, len= %d \n", str, len(str))
	fmt.Printf("str[0]= %c, ch = %c\n", str[0], ch)

	str2 := `hello
	mike \n \r测试
	`
	fmt.Println("str2=", str2)

	var v1 complex64
	v1 = 3.2 + 12i
	v2 := 3.2 + 12i
	v3 := complex(3.2, 12)
	fmt.Println(v1, v2, v3)
	fmt.Println(real(v1), imag(v1))

	fmt.Println("============")

	var i Power = Power{18, 178, "tom"}
	fmt.Printf("type:%T\n", i)
	fmt.Printf("value:%v\n", i)
	fmt.Printf("value:%+v\n", i)
	fmt.Printf("value:%#v\n", i)
	/*
	============
	type:main.Power
	value:{18 178 tom}
	value:{age:18 high:178 name:tom}
	value:main.Power{age:18, high:178, name:"tom"}
	*/
	
	fmt.Println("=====intervface=======")
	var interstr interface{} = i
	fmt.Printf("%v\n", interstr)
	fmt.Println(interstr)
	
	/*
	=====intervface=======
{18 178 tom}
{18 178 tom}
	*/
}

//常用的格式化字符:%s, %d, %c, %T, %v, %p