package main

import (
	"fmt"
	"strconv"
	"strings"
)

func main() {
	var f32 float32 = 2.2
	var f64 float64 = 10.2345
	fmt.Println("f32 is", f32, ", f64 is", f64)
	var bf bool = false
	var bt bool = true
	fmt.Println("bf is", bf, ", bt is", bt)
	var s1 string = "Hello"
	var s2 string = "世界"
	fmt.Println("s1 is", s1, ", s2 is", s2)
	fmt.Println("s1+s2=", s1+s2)
	// 零值
	var zi int
	var zf float64
	var zb bool
	var zs string
	fmt.Println("zi is", zi, ", zf is", zf, "zb is", zb, ", zs is", zs)
	i := 3.14
	pi := &i
	fmt.Println(*pi)

	// 常量iota
	const (
		one = iota + 1
		two
		three
		four
	)
	fmt.Println(one, two, three, four)

	// string
	j := 5
	i2s := strconv.Itoa(j)
	s2i, err := strconv.Atoi(i2s)
	fmt.Println(i2s, s2i, err)
	f2s := strconv.FormatFloat(f64, 'e', -1, 32)
	fmt.Println(f2s)
	// 判断字符串开头是否为“H”
	fmt.Println(strings.HasPrefix(f2s, "H"))
	// 查找字符串
	fmt.Println(strings.Index(f2s, "e"))
	// 全部转大写
	fmt.Println(strings.ToUpper(f2s))
}