摘要: Unicode第8版定义了超过一百种语言文字的12万个字符的码点。天然适合保存单个文字符号的数据类型是int32,为Go语言采用。rune类型作为int32类型的别名。我们可以将文字符号的序列表示成int32值序列,这种表示方式称作UTF-32或UCS-4,每个Unicode码点的编码长度相同,都是 阅读全文
posted @ 2018-07-12 16:14 一片湖海 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 编码规则0xxxxxxx 文字符号0~127(ASCII)110xxxxx 10xxxxxx 128~20471110xxxx 10xxxxxx 10xxxxxx 2048~6553511110xxx 10xxxxxx 10xxxxxx 10xxxxxx 65535~0x10ffff变长编码,每个文 阅读全文
posted @ 2018-07-12 16:14 一片湖海 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 作用域是编译时属性,变量的生命周期是运行时属性。 阅读全文
posted @ 2018-07-11 18:35 一片湖海 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 声明给一个程序实体命名,并且设定其部分或全部属性。有4个主要的声明:变量、常量、类型和函数。一个GO程序文件:以package声明开头,表明文件属于哪个包然后是import声明然后是包级别的类型、变量、常量、函数的声明,不区分顺序 阅读全文
posted @ 2018-07-11 18:34 一片湖海 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 与C语言的指针区别:不可以运算函数返回局部变量的地址是非常安全的 阅读全文
posted @ 2018-07-11 18:34 一片湖海 阅读(82) 评论(0) 推荐(0) 编辑
摘要: type声明定义一个新的命名类型,提供一种方式区分相同底层类型,这样不会混用。例如: w和m不是相同类型,即使底层都是float64。他们不能使用算术表达式比较和合并。一个类的String可以重写例如: 阅读全文
posted @ 2018-07-11 18:33 一片湖海 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 命名规则:Go中函数、变量、常量、类型、语句标签和包的名称都遵循一个规则,开头是一个字母或下划线,后面跟任意字符、数字和下划线,并区分大小写。例如:heapSort和HeapSort是不同名称。关键字:Go有25个关键字,例如:for、type、return......另外还有三十几个内置的预声明的 阅读全文
posted @ 2018-07-11 18:33 一片湖海 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 多重赋值:交换俩个变量的值时很方便,例如:x, y = y, x可赋值性:赋值语句是显式的赋值,但程序中很多地方是隐式赋值,例如函数中的参数,函数中的return。复合类型的字面量表达式:me := []string{"a", "b", "c"} 阅读全文
posted @ 2018-07-11 18:32 一片湖海 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 生命周期指在程序执行过程中变量存在的时间段。Go语言中编译器可以选择使用堆或栈上的空间来分配,而不是基于var或new。Go语言有逃逸识别的机制,但每一次变量逃逸都需要额外的内存分配过程。例如:x逃逸 阅读全文
posted @ 2018-07-11 18:31 一片湖海 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 变量声明的通用形式:var name type = expression其中type和expression,可省略其一。省略type,变量类型由expression决定。省略expression,变量的值是该类型的零值,对于接口和引用类型(slice、指针、map、通道、函数)是nil。对于数组或结 阅读全文
posted @ 2018-07-11 18:30 一片湖海 阅读(132) 评论(0) 推荐(0) 编辑