golang数据类型值之字符串

Posted bwkj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang数据类型值之字符串相关的知识,希望对你有一定的参考价值。

1、go中字符串只能用双引号或反引号(``)号包裹,双引号里的转义字符可以被正确识别,反引号则不能。因此可用反引号输出代码。

2、字符串一旦赋值后就不能修改内容,例如 str:="abc" 要被修改改成 “bbc” ,这样操作str[0] = "b"是错误的

3、 字符串的拼接用“+”,但是如果有换行加号必须位于上一行的行尾才可以

4、基本类型之间的互相转换必须是显式的,即只能通过类型转换函数(byte()、int64()等)来转换

5、基本类型转字符串,有两种方式,一是用fmt包里的Sprintf()函数转换,另一种是用strconv包里的对应函数例如 FormatInt()、FormatFloat()、FormatBool()等,具体使用见如下代码

    

package main

import (
    "fmt"
    "strconv"
)

func main() {
    //基本类型转字符串类型
    var a int64 = -100
    var b float32 = 20.555
    var boolen bool = true
    var c byte = h

    var str string
    str = fmt.Sprintf("%d", a)
    fmt.Printf("str type is %T str=%q
", str, str)

    str = fmt.Sprintf("%.2f", b)
    fmt.Printf("str type is %T str=%q
", str, str)

    str = fmt.Sprintf("%t", boolen)
    fmt.Printf("str type is %T str=%q
", str, str)

    str = fmt.Sprintf("%c", c)
    fmt.Printf("str type is %T str=%q
", str, str)

    //strconv包
    str = strconv.FormatInt(a, 10)
    fmt.Printf("str type is %T str=%q
", str, str)
    str = strconv.FormatFloat(float64(b), f, 5, 64)
    fmt.Printf("str type is %T str=%q
", str, str)
    str = strconv.FormatBool(boolen)
    fmt.Printf("str type is %T str=%q", str, str)
    str = strconv.FormatUint(uint64(c), 10)
    fmt.Printf("str type is %T str=%q
", str, str)

    //ItoA函数将一个int类型数字转换位字符串
    str = strconv.Itoa(int(a))
    fmt.Printf("str type is %T str=%q", str, str)

}

 

以上是关于golang数据类型值之字符串的主要内容,如果未能解决你的问题,请参考以下文章

GoLang学习之变量定义和初始化

golang代码片段(摘抄)

golang数据类型和各类型转换注意细节图文+代码

代码片段 - Golang 实现简单的 Web 服务器

代码片段 - Golang 实现集合操作

Golang PrintfSprintf Fprintf 格式化