- package _case
- import (
- "fmt"
- "strconv"
- "time"
- "unsafe"
- )
- // ConvertCase 类型转换
- func ConvertCase() {
- // 同类型转换 数字和数字 字符串和字符和字节
- // 不同类型转换 数字和字符串
- // 接口类型转其他类型
- // 数字类型转换
- var num1 int = 100
- fmt.Println("int 转 int64 :", int64(num1))
- var num2 int64 = 100
- fmt.Println("int64 转 int: ", int(num2))
- // 字符串与数字类型转换
- var num3 = 100
- fmt.Println("int 转 string: ", strconv.Itoa(num3)+"abc")
- // 字符串转数字类型
- var str1 = "100"
- str1_num, err := strconv.Atoi(str1)
- if err != nil {
- fmt.Println(err.Error())
- }
- fmt.Println("string 转 int: ", str1_num)
- // 数字转字符串
- var num4 int64 = 1010
- // 基于10 进制
- fmt.Println("int64 转 int: ", strconv.FormatInt(num4, 10))
- var str2 = "1010"
- fmt.Println("字符串转数字")
- fmt.Println(strconv.ParseInt(str2, 10, 64))
- // 字符串转byte
- var str3 = "你好世界"
- bytes1 := []byte(str3)
- fmt.Println("字符串转字节: ", bytes1)
- fmt.Println("字节转字符串: ", string(bytes1))
- // 字符串与 rune 转换 ;类似于字符类型.处理 unicode
- var rune1 = []rune(str3)
- fmt.Println("字符串转rune: ", rune1)
- fmt.Println("rune转字符串: ", string(rune1))
- fmt.Println("rune转字符串: ", string(rune1[2])) // 码点索引
- fmt.Println("字符串转 int32: ", []int32(str3))
- // 接口类型转换具体类型
- var inf interface{} = 100
- var infStrut interface{} = user{Name: "like"}
- i, ok := inf.(int)
- fmt.Println("接口类型转换具体类型: ", i, ok)
- u, ok1 := infStrut.(user)
- fmt.Println("接口类型转换具体类型: ", u, ok1)
- // 时间类型转换
- var t time.Time
- t = time.Now()
- timeStr := t.Format("2006-01-02 15:04:05Z07:00")
- fmt.Println("时间类型转换: ", timeStr)
- // 字符串转时间
- t2, _ := time.Parse("2006-01-02 15:04:05Z07:00", timeStr)
- fmt.Println("字符串转时间: ", t2)
- fmt.Println("时间类型转换: ", t2.Unix())
- // uintptr // 指针 类型
- u1 := user{}
- // unsafe.Pointer 不能用于计算
- uPtr := unsafe.Pointer(&u1)
- namePtr := unsafe.Pointer((uintptr(uPtr) + unsafe.Offsetof(u1.Name)))
- *(*string)(namePtr) = "nick"
- fmt.Println(u1)
- }
复制代码- int 转 int64 : 100
- int64 转 int: 100
- int 转 string: 100abc
- string 转 int: 100
- int64 转 int: 1010
- 字符串转数字
- 1010 <nil>
- 字符串转字节: [228 189 160 229 165 189 228 184 150 231 149 140]
- 字节转字符串: 你好世界
- 字符串转rune: [20320 22909 19990 30028]
- rune转字符串: 你好世界
- rune转字符串: 世
- 字符串转 int32: [20320 22909 19990 30028]
- 接口类型转换具体类型: 100 true
- 接口类型转换具体类型: {like 0 { }} true
- 时间类型转换: 2025-09-17 21:39:07+08:00
- 字符串转时间: 2025-09-17 21:39:07 +0800 CST
- 时间类型转换: 1758116347
- {nick 0 { }}
复制代码 来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |