package main
import (
"fmt"
"reflect"
"strconv"
"time"
)
func main() {
a := 15 // 整数转浮点数
b := float64(a) // go支持显示类型转换,以满足严格的类型要求
fmt.Println(b, reflect.TypeOf(b))
c := "123456" // 字符串转整数
d, _ := strconv.Atoi(c)
fmt.Printf("%d:%T\n",d,d)
var e string = "15.86" // 字符串转浮点数
f, _ := strconv.ParseFloat(e,64)
fmt.Printf("%v:%T\n", f, f)
var g string = "88" // 字符串转整数
h, _ := strconv.ParseInt(g, 10, 0)
fmt.Printf("%v:%T\n", h, h)
var o string = "111" // 2进制转10进制
p, _ := strconv.ParseInt(o, 2, 64)
fmt.Printf("%v:%T\n", p, p)
var i string = "12" // 8进制转10进制
j, _ := strconv.ParseInt(i, 8, 64)
fmt.Printf("%v:%T\n", j, j)
var k string = "a" // 16进制转十进制
l, _ := strconv.ParseInt(k, 16, 0)
fmt.Printf("%v:%T\n", l, l)
var m int64 = 2 // 10进制转2进制
n := strconv.FormatInt(m, 2)
fmt.Printf("%v:%T\n", n, n)
var q int64 = 9 // 10进制转8进制
r := strconv.FormatInt(q, 8)
fmt.Printf("%v:%T\n", r, r)
var w int64 = 18 // 10进制转16进制
z := strconv.FormatInt(w, 16)
fmt.Printf("%v:%T\n", z, z)
var s string = "2022-01-18 15:35:46" // 字符串转UTC时间
t1, _ := time.Parse("2006-01-02 15:04:05", s)
fmt.Printf("%v:%T\n", t1, t1)
var s2 string = "2022-01-18 15:35:55" // 字符串转Local时间
t2, _ := time.ParseInLocation("2006-01-02 15:04:05", s2, time.Local)
fmt.Printf("%v:%T\n", t2, t2)
t3 := time.Now() // 时间转字符串
s3 := t3.Format("2006-01-02 15:04:05")
fmt.Printf("%v:%T\n", s3, s3)
}