package mainimport ("fmt""unicode/utf8"
)func main(){// 声明字符串,以下三种方式为等价的peace := "peace"// var peace = "peace"// ver peace string = "peace"fmt.Println(peace)var blank string  // 字符串的零值fmt.Println(blank) // 空字符串// 字符串字面值与原始字符串字面值// 1.字符串字面值可以包括转义字符,如\n// 2.但是,如果你确实想得到\n而不是换行的话,可以使用`来代替",这叫做原始字符串字面值。fmt.Println("peace be upon you\nupon you be peace")fmt.Println(`strings can span multiple lines with the \n escape sequence`)// 字符、code points、runes、bytes// 1. Unicode联盟为超过100万个字符分配了相应的数值,这个数叫做code point。例如:65代表A,12815代表"笑脸"这个字符。// 2. 为了表示这样的unicode code point,go语言提供了rune这个类型,它是int32的一个类型别名。// 3. byte是uint8类型的别名,目的是用于二进制数据。// 类型别名:同一个类型的另一个名字。因此,rune和int32是可以互换使用。// 也可以自定义类型别名type byte = uint8type rune = int32// 打印// 1.如果想打印字符而不是数值,使用%c格式化动词var pi rune = 960var alpha rune = 940var dana rune = 969var bang byte = 33// 将会打印出code point的值fmt.Printf("%v %v %v %v\n", pi, alpha, dana, bang)// 将会打印字符fmt.Printf("%c%c%c%c\n", pi, alpha, dana, bang)// 任何整数类型都可以使用%c打印,但rune意味着该数值表示一个字符。// 字符// 1.字符字面值使用''括起来// 2.如果没有指定字符类型的话,go会自动推断它的类型为runegrade := 'A'  // var grade runefmt.Println(grade)var grade1 rune = 'A'fmt.Println(grade1)// 上面的grade仍然包含一个数值,上例中就是65,它是A的code point// 字符字面值也可以用byte类型var star byte = '*'fmt.Println(star)// string// 1.可以给某个变量赋予不同的string值,但string本身是不可变的message := "hello"c := message[1]fmt.Printf("%c\n", c)// message[1] = 'd'// go中的内置函数----len():按字节长度输出// go中的字符串是用utf-8编码的,utf-8是unicode code point的几种编码之一。// utf-8是一种有效率的可变长度的编码,每个code point可以是8位/16位/32位// len()如何支持西班牙语、俄语、汉语等?// 使用utf-8包,它提供可以按rune计算字符串长度的方法// DecodeRunelnString函数会返回第一个字符,以及字符所占的字节数// go语言中的函数可以返回多个值question := "анве αδγεσρ"fmt.Println(len(question), "bytes")fmt.Println(utf8.RuneCountInString(question), "runes")c1, size := utf8.DecodeRuneInString(question)fmt.Printf("First rune: %c %v bytes", c1, size)// range:可以遍历各种集合for _, cc := range question {fmt.Printf("%c\n", cc)}
}

go语言中的多语言文本相关推荐

  1. c语言中 文件,c语言中文件的使用方法

    c语言中文件的使用方法 一.文件指针的定义 FILE *fp//注意FILE的大写 二.文件的打开 fp=fopen("(路径)文件名.文件格式后缀","文件的使用方法& ...

  2. python中分支结构与c语言中有何区别_C语言的分支语句有哪几种?C语言分支结构的基本形式是什么,区别是什么?...

    展开全部 C语言中的分支结62616964757a686964616fe58685e5aeb931333433623763构有三种: 1.单分支结构 单分支结构的基本形式是: if( ) { (语句块 ...

  3. c语言中负数_C语言中负数的模数

    c语言中负数 C中的模数运算符(%)运算符 (The modulus operator (%) operator in C) The modulus operator is an arithmetic ...

  4. c语言中堆栈_C语言编程中的堆栈

    c语言中堆栈 A stack is a linear data structure, collection of items of the same type. 堆栈是线性数据结构 ,是相同类型的项目 ...

  5. C语言中延迟作用,c语言delay的用法

    在单片机应用中,经常会遇到需要短时间延时的情况,一般都是几十到几百μs,并且需要很高的精度(比如用单片机驱动DS18B20时,误差容许的范围在十几μs以内,不然很容易出错);而某些情况下延时时间较长, ...

  6. c语言中 ||优先级,C语言运算符号的优先级 A: B: C:|| D:|

    我知道从高到低为:圆括号 单目运算符 算术运算符 关系运算符 逻辑运算C语言运算符优先级顺序如下所示: 自增运算符 ++ 和自减运算符 ,在作后缀运算符(如表达式 x++)时,较其用作前缀运算符(如表 ...

  7. c语言中浮点数如何声明,C语言中浮点数定义和文本处理的配合

    零.C语言中float类型变量定义的诡异性 在C语言中,float类型的定义比较特殊,特别是对于小数点左右侧数字的定义看起来也比较诡异:例如这种".005","10.&q ...

  8. C语言中所有,C语言所有关键字.doc

    C语言所有关键字 关键字就是已被C语言本身使用,不能作其它用途使用的字.例如关键字不能用作变量名.函数名等 由ANSI标准定义的C语言关键字共32个: auto double int struct b ...

  9. 在c++语言中赋值运算符,C++语言— 类中的赋值运算符重载

    赋值运算符重载 赋值运算符的重载在这几个默认的成员函数中的位置也算是举足轻重的,它也是不好理解的一个, 下 面是我自己写的一个复数类,这里面会将赋值运算符重载踏踏实实的过完. 赋值运算符的重载的基本格 ...

最新文章

  1. 【死磕Java并发】—–深入分析synchronized的实现原理
  2. python3操作MySQL:insert插入数据
  3. Spring配置C3P0开源连接池
  4. Windows 常用快捷键 + word常用快捷键 +常用工具调用
  5. 在linux上运行scala的jar包
  6. OpenMP参考链接
  7. 从Loagistic 到 SVM算法
  8. Python中break和continue语句及循环中的else子句
  9. svn导出项目到myeclipse,运行报ClassNotFoundException
  10. ReadWriteLock读写锁的使用
  11. 【报告分享】2019应届生求职趋势报告.pdf(附下载链接)
  12. 15.分布式文档系统-document id的手动指定与自动生成两种方式解析
  13. 获取Activity当前屏幕方向。
  14. TCP/IP详解 卷1:协议—概述
  15. PUBG 绝地逃亡 吃鸡压枪宏 彩虹六号压枪宏 Autohotkey
  16. 军事指挥系统时间同步解决方案
  17. ACM一年总结(写于2011年11月18日)
  18. 万能显卡驱动win7_AMD发布Radeon 20.11.1驱动:优化四款新游戏、性能提升7%-AMD,Radeon,驱动,RX 5700 XT ——快科技(驱动之家旗下媒体)-...
  19. Python 基础 1.0
  20. 计算机机房使用多大的光纤引入,数据中心机房采用光纤网络布线案例解析

热门文章

  1. Java正则入门(1)——去除字符串头尾空格
  2. PC软件/web网站/小程序/手机APP产品如何增加个人收款接口
  3. Linux的归档及压缩,Linux的cron时间计划任务, NTP网络时间协议 , 查看网络连接...
  4. html提交表单到Servlet
  5. 编写音乐播放器的一些感想
  6. .net mysql中文乱码解决办法
  7. 游戏开发基础:A*算法(转)
  8. Leangoo敏捷开发项目管理软件-工作日志
  9. 告别硬编码,SpringBoot实现动态增删启停定时任务
  10. 五大算法设计思想,你都知道吗?