刘小帅

基本数据类型四
package main func main() { //1. 定义字符 字符属于int类型 ...
扫描右侧二维码阅读全文
10
2021/04

基本数据类型四

package main

func main() {
    //1. 定义字符 字符属于int类型

    // var a = 'a'
    // fmt.Println(a) //97 ASCII码
    //当我们直接输出 byte(字符)的时候输出的是这个字符对应的ASCII码值

    //2. 原样输出字符

    // var a = 'a'
    // fmt.Printf("%c", a) //a

    //3. 定义一个字符串输出字符串里面的字符
    // var str = "this"
    // fmt.Printf("%v  %c %T", str[2], str[2], str[2]) //105  i uint8

    //4. 一个汉字占用3字节 一个字母占用1字节
    // unsafe.Sizeof() 没法查看string类型所占的存储空间
    // var str = "this"      //占用四个字节
    // fmt.Println(len(str)) //4

    // var str = "你好GO"
    // fmt.Println(len(str)) //8

    //5. 定义一个字符 字符的值是汉字
    //golang中汉字使用的是utf8编码 编码后的值就是int类型
    // var a = '国'
    // fmt.Printf("%v %T", a, a) //22269 int32

    //6.通过循环输出字符串里面的字符
    // str := "Golang"
    // for i := 0; i < len(str); i++ {  //byte类型 输出utf8编码会有问题
    //     fmt.Printf("%v---(%c)", str[i], str[i]) //71---(G)111---(o)108---(l)97---(a)110---(n)103---(g)
    // }

    // str := "你好 golang"
    // for _, v := range str { //rune类型 强大 兼容ASCII UTF8
    //     fmt.Printf("%v--%c", v, v) //20320--你22909--好32-- 103--g111--o108--l97--a110--n103--g
    // }

    //7. 修改字符串

    // s1 := "big"
    // //强制类型转换 如果有汉字不可以用byte类型
    // byteStr := []byte(s1)
    // byteStr[0] = 'p'
    // fmt.Println(string(byteStr)) //pig

    // s1 := "你好golang"
    // runeStr := []rune(s1)
    // runeStr[0] = '大'
    // fmt.Println(string(runeStr)) //大好golang

}
Last modification:April 10th, 2021 at 10:57 am
If you think my article is useful to you, please feel free to appreciate

Leave a Comment