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表对应的字符 超过 直接输出对应的字节
如果要格式化输出需要我们可以这样输出
fmt.Printf("str_char=%c\n",str_char)
注意 在格式化输出的时候要在 加入 \n 否则会输出% 号
在go 中 变量一旦声明必须使用 注意这一细节,在php中 是没有这个限制的
在 go 中 如果声明了字符串 string的类型 那么一旦声明不可修改 下面来看个小例子
// 字符串一旦赋值,字符串就不能修改了 var str = "hello" str[0] = 'a' fmt.Println(str)
上面会提示 已经定义无法改变
在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的学习笔记 大家一起进步成长!