字符串

概述

  • 字符串类型的值使用双引号""扩上,内容支持转义字符串.两侧使用反单引号时原格式输出

func main() {
    a := "a\tbc"
    b := `a\tbc`
    fmt.Println(a) //输出:a    abc
    fmt.Println(b) //输出a\tabc
}

字符串和数值转换

  • 包strconv提供了字符串和其他类型相互转换的函数,下面以字符串和数值类型转换为例

  • int和string相互转换

复制代码
package main

import (
    "fmt"
    "strconv"
)

func main() {
    s := "11"
    /*
    第一个参数:需要转换的字符串变量
    第二个参数:这个数字是几进制,常用取值:2,8,10,16
    第三个参数:认为这个数字的整数类型.可取值:0,8,16,32,64.
    但是由于方法最后返回值是int64,所以第三个参数无论设置什么最终结果都是int64
    */
    i, _ := strconv.ParseInt(s, 10, 8)
    fmt.Println(i)
    fmt.Printf("%T\n", i)

    //简单写法,相当于strconv.ParseInt(s,10,64)
    i1, _ := strconv.Atoi(s)
    fmt.Println(i1)
}
复制代码
  • Int转换成string
复制代码
package main

import (
    "fmt"
    "strconv"
)

func main() {
    i := 11
    /*
    第一个参数:必须是int64类型
    第二个参数:进制数
     */
    s := strconv.FormatInt(int64(i), 10)
    fmt.Println(s)        //输出:11
    fmt.Printf("%T\n", s) //输出:string

    /*
    由于平时常用int,且使用短变量时整数默认是int类型
    所以下面方式较常用,把int转换为string
     */
    s1 := strconv.Itoa(i)
    fmt.Println(s1)      //输出:11
    fmt.Printf("%T", s1) //输出:string
}
复制代码
  • string转换为floatXX类型
复制代码
package main

import (
    "fmt"
    "strconv"
)

func main() {
    s := "1.5"
    /*
    把字符串转换为指定类型
    第一个参数:字符串
    第二个参数:可取值为32和64,分别表示float32和float64
    返回值是float64
     */
    f, _ := strconv.ParseFloat(s, 64)
    fmt.Println(f)
    fmt.Printf("%T", f)
}
复制代码
  • floatXX转换为string类型
复制代码
package main

import (
    "fmt"
    "strconv"
)

func main() {
    f := 1.5
    /*
    把浮点型转换为字符串类型
    第一个参数:浮点型变量
    第二个参数:
        'f'(-ddd.dddd)
        'b'(-ddddp±ddd,指数为二进制)
        'e'(-d.dddde±dd,十进制指数)
        'E'(-d.ddddE±dd,十进制指数)
        'g'(指数很大时用'e'格式,否则'f'格式)
        'G'(指数很大时用'E'格式,否则'f'格式)
    第三个参数:小数点精度,精度不够使用0补全,超出精度四舍五入
    第四个参数:浮点型变量类型,64表示float64,32表示float32
     */
    s := strconv.FormatFloat(f, 'g', 5, 64)

    fmt.Println(s)
}
复制代码

posted on   不要挡着我晒太阳  阅读(263)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示