for、switch 或 select 语句都可以配合标签(label)形式的标识符使用,即某一行第一个以冒号(:)结尾的单词(Gofmt 会将后续代码自动移至下一行) (标签的名称是大小写敏感的,为了提升可读性,一般建议使用全部大写字母) continue 语句指向 LABEL1,当执行到该语句的时候,就会跳转到 LABEL1 标签的位置。
2019-11-27 阅读:2246
map是一种元素对的无序集合,一组称为元素value,另一组为唯一键索引key。 未初始化map的值为nil。map 是引用类型
2019-11-27 阅读:2264
切片(slice) 是对底层数组一个连续片段的引用,所以切片是一个引用类型。切片提供对该数组中编号的元素序列的访问。未初始化切片的值为nil。 与数组一样,切片是可索引的并且具有长度。切片s的长度可以通过内置函数len() 获取;与数组不同,切片的长度可能在执行期间发生变化。元素可以通过整数索引0到len(s)-1来寻址。我们可以把切片看成是一个长度可变的数组。 切片提供了计算容量的函数 ca...
2019-11-27 阅读:2094
数组是具有相同唯一类型的一组已编号且长度固定的数据项序列(这是一种同构的数据结构);这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。数组长度必须是一个常量表达式,并且必须是一个非负整数。 数组长度也是数组类型的一部分,所以[5]int和[10]int是属于不同类型的。 注意事项:如果我们想让数组元素类型为任意类型的话可以使用空接口interface{}作为类型。当使用值时我们必须先...
2019-11-27 阅读:2210
Go 语言中可以使用反引号或者双引号来定义字符串。反引号表示原生的字符串,即不进行转义。 双引号:字符串使用双引号括起来,其中的相关的转义字符将被替换。
2019-11-27 阅读:2194
9.1 内置运算符算术运算符关系运算符逻辑运算符位运算符赋值运算符其他运算符Go语言的算术运算符:运算符含义示意+相加A + B-相减A - B*相乘A * B/相除B / A 结果还是整数 8/3=2%求余B % A++自增A++ 1--自减A--Go语言的关系运算符:运算符含义示意==检查两个值是否相等。(A == B) 为 False!=检查两个值是否不相等。(A != B) 为 True&...
2019-11-27 阅读:2320
Go的工程项目管理非常简单,使用目录结构和包名来确定工程结构和构建顺序。 环境变量GOPATH在项目管理中非常重要,想要构建一个项目,必须确保项目目录在GOPATH中。而GOPATH可以有多个项目用";"分隔。
2019-11-27 阅读:2165
Go语言使用包(package)的概念来组织管理代码,包是结构化代码的一种方式。和其他语言如JAVA类似,Go语言中包的主要作用是把功能相似或相关的代码组织在同一个包中,以方便查找和使用。在Go语言中,每个.go文件都必须归属于某一个包,每个文件都可有init()函数。包名在源文件中第一行通过关键字package指定,包名要小写。
2019-11-27 阅读:2123
在Go语言中,标识符必须以一个大写字母开头,这样才可以被外部包的代码所使用,这被称为导出。标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的。但是包名不管在什么情况下都必须小写。 在设计Go语言时,设计者们也希望确保它不是过于以ASCII为中心,这意味着需要从7位ASCII的范围来扩展标识符的空间。 所以Go语言标识符规定必须是Unicode定义的字母或数字,标...
2019-11-27 阅读:2247
5.1 作用域局部变量 在函数体内或代码块内声明的变量称之为局部变量,它们的作用域只在代码块内,参数和返回值变量也是局部变量。全局变量 作用域都是全局的(在本包范围内) 在函数体外声明的变量称之为全局变量,全局变量可以在整个包甚至外部包(被导出后)使用。 全局变量可以在任何函数中使用。简式变量 使用 := 定义的变量,如果新变量Ga与那个同名已定义变量 (这里就是那个全局变量Ga)不在一个作用域中...
2019-11-27 阅读:2235
4.1 常量以及iota常量使用关键字 const 定义,用于存储不会改变的数据。常量不能被重新赋予任何值。 存储在常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 常量的定义格式:const identifier [type] = value,例如:const Pi = 3.14159在 Go 语言中,你可以省略类型说明符 [type],因为编译器可以根据变量(常量)的...
2019-11-27 阅读:2278
3.1 变量以及声明Go 语言中有四类标记:标识符(identifiers),关键字(keywords),运算符(operators )和标点符号(punctuation)以及字面量(literals) 。Go 语言变量标识符由字母、数字、下划线组成,其中首个字母不能为数字,同一字母的大小写在Go语言中代表不同标识,注意区分A 和a 是不同的标识。根据Go语言规范,标识符命名程序实体,例如变量和类...
2019-11-27 阅读:2263
开源、跨平台的轻量级 Go 语言集成开发环境(IDE)。GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候
2019-11-27 阅读:2381
写《Go语言四十二章经》,纯粹是因为开发过程中碰到过的一些问题,踩到过的一些坑,感觉在Go语言学习使用过程中,有必要深刻理解这门语言的核心思维、清晰掌握语言的细节规范以及反复琢磨标准包代码设计模式,于是才有了这本书。 Go语言以语法简单、门槛低、上手快著称。但入门后很多人发现要写出地道的、遵循 Go语言思维的代码却是不易。