七、3.类型转换(strconv)

package main

import (
    "fmt"
    "strconv"
)
func main() {
    //字符串 => 其他类型
    //字符串 => bool
    //类型转换的时候会返回2个值 一个是v 转换成功之后的值 一个是 err错误,这个判断是指如果返回不是nil 那么就是转换失败了,把失败错误打印出来
    if v, err := strconv.ParseBool("true"); err == nil {
        fmt.Println(v)
    } else {
        fmt.Println(err)
    }
    //字符串 => int
    if v, err := strconv.Atoi("1023"); err == nil {
        fmt.Println(v)
    } else {
        fmt.Println(v)
    }
    //这里 16指的是十六进制转换为十进制,64表示int64类型
    if v, err := strconv.ParseInt("64", 16, 64); err == nil {
        fmt.Println(v)
    } else {
        fmt.Println(err)
    }
    //字符串 => float
    //64指的是float64
    if v, err := strconv.ParseFloat("1.12", 64); err == nil {
        fmt.Println(v)
    } else {
        fmt.Println(err)
    }
    //其他类型转换字符串
    //Sprint 格式化返回一个字符串 不打印标准输出
    sd := fmt.Sprintf("%d", 12)
    sf := fmt.Sprintf("%T 是字符串%.3f", 12.01, 12.01)
    fmt.Println(sd, sf)
    fmt.Printf("%q\n", strconv.FormatBool(false))
    fmt.Printf("%q\n", strconv.Itoa(12))
    //16表示十六进制
    fmt.Printf("%q\n", strconv.FormatInt(12, 16))
    //E表示是否是用科学计数法 -1 表示保留所有小数点后面的, 这里是精度 正数表示保留几个 64表示float64
    fmt.Printf("%q\n", strconv.FormatFloat(10.1, 'E', -1, 64))
    fmt.Printf("%q\n", strconv.FormatFloat(10.1111, 'f', 4, 64))
}
发布了92 篇原创文章 · 获赞 12 · 访问量 5693

猜你喜欢

转载自blog.csdn.net/weixin_45413603/article/details/104785362
今日推荐