2021-11-09 10:16:16  3520 0

go string char类型使用技巧

 标签:   

大家好我是猪哥哥,最近猪哥开始学习go语言,今天刚好学习到go语言string 的用法,发现 和php还是很相似的下面一起来了解下吧!猪哥会以php 和go来作比较来看看两种语言的不同之处!


猪哥以前是搞php的 ,php 是弱类型语言,可以不用声明变量类型直接使用 看下面的代码示例

$str = 'hello world'

 php 中可以直接赋值使用 ,在go 中也是可以的

go 是这样声明的

var str = "hello word" 
//类型推导
str := "hello word"

在go 中声明字符串要使用双引号 不可用使用单引号 包裹多个文字,只有byte 单个字符才可以使用 单引号

比如 var str_char  byte = 'a'  这里a 会被自动转换为 ascii表的字符a 是十进制的 97 ,如果 要保存汉字可以使用

var str_char  byte = 'a'
var str int = '你好' //如果字符大于255 可以使用int类型保存
fmt.Println("str_char=" , str_char)
fmt.Println("str=" , str)

如果直接输出 不会原样输出,如果是单字符是输出ascii表对应的字符 超过 直接输出对应的字节

image.png

如果要格式化输出需要我们可以这样输出

fmt.Printf("str_char=%c\n",str_char)

注意 在格式化输出的时候要在 加入 \n 否则会输出% 号

在go 中 变量一旦声明必须使用 注意这一细节,在php中 是没有这个限制的


在 go 中 如果声明了字符串 string的类型 那么一旦声明不可修改 下面来看个小例子

// 字符串一旦赋值,字符串就不能修改了
var str = "hello"
str[0] = 'a'
fmt.Println(str)

image.png

上面会提示 已经定义无法改变


在go 如果要使用 大段的字符串原样输出 我们可以使用 

``

这个是esc键盘下面的波浪键 注意是在英文状态下 ,在php中我们可以使用    

$php = <<<php
php;

 两者很相似 ,在这里我们用go和php对比 方便 我们记忆学习

下面看下如何在go中输出 大段的代码

str3  := `
        package main

        import (
            "fmt"
        )

        func main() {
            // string的使用
            var address string = "北京长城 110 hello world!"
            fmt.Println(address)
            // 字符串一旦赋值,字符串就不能修改了
            //var str = "hello"
            //str[0] = 'a'
            //fmt.Println(str)
            str2 := "abc\nabc"
            fmt.Println(str2)   
    `
fmt.Println(str3)

在 go 中如果 要拼接字符串我们可以使用 + 号拼接 但是要注意 

多个字符串用加号拼接 每一行尾必须要以 加号 结束,字符串拼接的最后一行不可在添加 加号 下面就是错误示范

var str4 = "hello" + "world" + "hello" + "world"
+"hello" + "world" + "hello" + "world"

因为加号必须要放在每一行结尾处, 并且要注意最后一行是不需要 + 号的 。

正确示例

var str4 = "hello" + "world" + "hello" + "world" +
"hello" + "world" + "hello" + "world"      
fmt.Println(str4)

好了以上就是猪哥学习go 语言 string 类型的 细节! 以后会更新更多的关于go的学习笔记 大家一起进步成长!