golang中字符串、数值、2进制、8进制、16进制、10进制、日期和字符串之间的转换

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)

}

posted @ 2022-01-18 16:32  专职  阅读(1914)  评论(0编辑  收藏  举报