添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
var str1 = "abcd" for i:=0;i
  • 含中文字符串
    使用同一种方法进行遍历输出
  •    	var str1 = "你好"
    	for i:=0;i<len(str1);i++{
    		fmt.Printf("文本:%c,ascii码:%d\n",str1[i],str1[i])
    		fmt.Println("默认输出:",str1[i])
    // 输出
    文本:ä,ascii码:228
    默认输出: 228
    文本:½,ascii码:189
    默认输出: 189
    文本: ,ascii码:160
    默认输出: 160
    文本:å,ascii码:229
    默认输出: 229
    文本:¥,ascii码:165
    默认输出: 165
    文本:½,ascii码:189
    默认输出: 189
    

    go语言默认把中文字符串保存为utf8格式,使用上述方式遍历输出子串会报错

    • 正确遍历含中文字符串
       	var str1 = "你好"
    	for j,k:=range str1{
    		fmt.Printf("变量j的值:%d\n",j)
    		fmt.Printf("变量k的值:%c\n",k)
    	// 输出  j的值为中文的第一个字节下标
    	变量j的值:0
    	变量k的值:你
    	变量j的值:3
    	变量k的值:好
    	// 不需要前一个变量的值,可以使用`_`代替
    	for _,k:=range str1{
    	fmt.Printf("变量k的值:%c\n",k)
    	// 输出
    	变量k的值:你
    	变量k的值:好
                        遍历不含中文的字符串func main() {   	var str1 = "abcd"	for i:=0;i&lt;len(str1);i++{		fmt.Printf("文本:%c,ascii码:%d\n",str1[i],str1[i])		fmt.Println("默认输出:",str1[i])	}}// 输出:文本:a,ascii码97默认输出: 97文本:b,...
    etree软件包是一个轻量级的纯go软件包,它以元素树的形式表示XML。 它的设计灵感来自Python 模块。
     该软件包的一些功能和特性:
     将XML文档表示为元素树,以便于遍历。
     从头开始导入,序列化,修改或创建XML文档。
     向文件,字节片,字符串和io接口读写XML。
     使用轻量级的类似XPath的查询API执行简单或复杂的搜索。
     使用空格或制表符自动缩进XML,以提高可读性。
     完全实施; 仅取决于标准的go库。
     构建在go 包之上。
    创建一个XML文档
    以下示例使用etree包从头开始创建XML文档,并将其缩进内容输出到stdout。
     doc := etree . NewDocument ()
    doc . CreateProcInst ( "xml" , `version="1.0" encoding="UTF-8"` )
    doc . CreateProcInst ( "xml-stylesheet" , `type="text/xsl" href="style.xsl"` )
    people := doc . CreateElement ( "People" )
    一种是 uint8 类型,或者叫 byte 型,代表了 ASCII 码的一个字符。
    	另一种是 rune 类型,代表一个 UTF-8 字符,当需要处理中文、日文或者其他复合字符时,则需要用到 rune 类型。rune 类型等价于 int32 类型。
    byte 类型是 uint8 的别名,对于只占用 1 个字节的传统 ASCII 编码的字符来说,完全没有问题,例如 var ch byte = 'A'
    				
    在go语言中支持两种方式遍历字符串。第一种方式是以字节数组的方式遍历。例如代码:str := "beijing,北京" for i := 0; i &lt; len(str); i++{ fmt.Println(i, " ", str[i]) }输入结果为:0 98 1 101 10 151 11 228 12 186 13 172可以看出,这个字符串长度为14,尽管从...
    今天看golang代码看到一个单词 rune ,熟悉而陌生。之前学习go并没有过多注意这个“神秘符号”。rune在golang中是int32的别名,在各个方面都与int32相同。被用来区分字符值和整数值。 做几个小测试 func main() { s:="hello你好" fmt.Println(len(s)) //输出11 ,其中一个汉字占用3个长度 //输出7 汉字和英...
    golang处理中文时默认是utf8,当遇到其他如GBK字符是就会出现乱码,此处介绍golang 官方golang.org/x/text/encoding/simplifiedchinese包下的编码转换 package main import "golang.org/x/text/encoding/simplifiedchinese" type Charset string const