美文网首页GO语言学习笔记
GO语言学习笔记4-int与string类型转换

GO语言学习笔记4-int与string类型转换

作者: Codeapes | 来源:发表于2019-07-21 18:36 被阅读0次

1.string转换成int

1.1 函数原型

// base指定进制(2到36),如果base为0,则会从字符串前置判断,
// "0x"是16进制,"0"是8进制,否则是10进制;
// bitSize指定结果必须能无溢出赋值的整数类型,
// 0、8、16、32、64 分别代表 int、int8、int16、int32、int64。
func ParseInt(s string, base int, bitSize int) (i int64, err error)

// Atoi是ParseInt(s, 10, 0)的简写
func Atoi(s string) (i int, err error)

1.2 示例

package main

import (
    "fmt"
    "strconv"
)

func main()  {
    // 字符串数字 "256" 转换成 256
    numStr1 := "256"
    
    numberInt1, error := strconv.ParseInt(numStr1, 10, 8)
    if error == nil {
        fmt.Printf("numberInt1的类型为:%T\n", numberInt1)
        fmt.Println("转换成功:numberInt1 = ", numberInt1)
    } else {
        fmt.Println("转换错误:", error)
    }

    numStr2 := "256"

    numberInt2, error := strconv.Atoi(numStr2)
    if error == nil {
        fmt.Printf("numberInt2的类型为:%T\n", numberInt2)
        fmt.Println("转换成功:numberInt2 = ", numberInt2)
    } else {
        fmt.Println("转换错误:", error)
    }
    
    numStr3 := "9876543210"

    numberInt3, error := strconv.ParseInt(numStr3, 10, 64)
    if error == nil {
        fmt.Printf("numberInt3的类型为:%T\n", numberInt3)
        fmt.Println("转换成功:numberInt3 = ", numberInt3)
    } else {
        fmt.Println("转换错误:", error)
    }
}

1.3 代码输出

转换错误: strconv.ParseInt: parsing "256": value out of range
numberInt2的类型为:int
转换成功:numberInt2 =  256
numberInt2的类型为:int64
转换成功:numberInt2 =  9876543210

2.int转换成string

2.1 函数原型

// 表示返回i的base进制的字符串。base 必须在2到36之间,
// 结果中会使用小写字母'a'到'z'表示大于10的数字
func FormatInt(i int64, base int) string

// Itoa是FormatInt(i, 10) 的简写
func Itoa(i int) string

// Sprintf根据format参数生成格式化的字符串并返回该字符串
func Sprintf(format string, a ...interface{}) string

2.2 示例

package main

import (
    "fmt"
    "strconv"
)

func main()  {
    // 数字 65 转换成字符串 "65"
    num1 := 65

    string1 := strconv.Itoa(num1)
    fmt.Printf("string1的类型为:%T\n", string1)
    fmt.Println(string1)

    // 数字 256 转换成字符串 "256"
    var num2 int64
    num2 = 256

    string2 := strconv.FormatInt(num2,10)
    fmt.Printf("string2的类型为:%T\n", string2)
    fmt.Printf("%s\n", string2)

    // 数字 123456 转换成字符串 "123456"
    num3 := 123456

    string3 := fmt.Sprintf("%d", num3)
    fmt.Printf("string3的类型为:%T\n", string3)
    fmt.Println(string3)

    // 如果不用这种的,可能转出来的不是你想象中的那样
    num4 := 97

    string4 := string(num4)
    fmt.Printf("string4的类型为:%T\n", string4)
    // number_str = P, 对应到了相应的ascci码上了
    fmt.Println(string4)
}

输出结果:

string1的类型为:string
65
string2的类型为:string
256
string3的类型为:string
123456
string4的类型为:string
a

个人主页:

www.codeapes.cn

相关文章

  • GO语言学习笔记4-int与string类型转换

    1.string转换成int 1.1 函数原型 1.2 示例 1.3 代码输出 2.int转换成string 2....

  • Go语言类型转换

    类型转换 Go语言和C语言不一样,Go语言没有隐式转换,只有显示转换 格式和C语言一样 Go语言类型转换被用于转换...

  • 10.18学习总结

    今天学习完了c#语言基础,包括类型转换(Parse和To string),装箱与拆箱(值类型和引用类型) ,...

  • 03-数据类型转换

    数值类型转换 C语言中存在显式转换和隐式转换 Go语言中只有显式转换 Go语言中数值类型转换注意点 数值类型转换为...

  • 笨办法学golang(三)

    这是Go语言学习笔记第三篇。 Go语言学习笔记参考书籍「Go语言圣经」以及Go官方标准库 Go语言基本类型主要有布...

  • Go常见的一些性能优化

    []byte和string 转换 尽量避免[]byte和string的互相转换,go的string是不可变类型,标...

  • 2017 10 16

    今天就C#语言基础进行学习,主要包括数据类型 (*)、变量与常量、String类型、类型转换 (**)等相关内容。...

  • 04GoLang类型转换

    数值类型之间的转换 在C语言中如何转换 1.1隐式转换 1.2显示转换 Go语言中如何转换 在Go语言中只有显示转...

  • 数据类型转换

    数值类型之间的转换 在C语言中如何转换1.隐式转换 2.显示转换 Go语言中如何转换 在Go语言中只有显示转换, ...

  • 初识Go语言-1

    Go语言学习路径 初识Go语言 Go语言环境搭建与IDE安装 Go语言基础语法 Go语言数据类型 Go语言变量和常...

网友评论

    本文标题:GO语言学习笔记4-int与string类型转换

    本文链接:https://www.haomeiwen.com/subject/xysvlctx.html