方法方法是为特定类型定义的,只能由该类型调用的函数。 方法是添加了接收者的函数,接收者必须是自定义的类型。
方法方法是为特定类型定义的,只能由该类型调用的函数。 方法是添加了接收者的函数,接收者必须是自定义的类型。
New函数 Go 语言中常定义 new 结构体名命名的函数用于创建对应的结构体值对象或指针对象。 结构体可见性 users/users.go main.go
结构体是值类型 值更改
匿名结构体 在定义变量时将类型指定为结构体的结构,此时叫匿名结构体。匿名结构体常用于初始化一次结构体变量的场景,例如项目配置。 匿名嵌入结构体匿名嵌入是指将已定义的结构体名直...
结构体是由一些列属性组成的复合数据类型,每个属性都具有名称、类型和值,结构体将属性组合在一起进行由程序进行处理。 自定义类型 在 go 语言中使用 type 声明一种新的类型...
包是go最小的分发单位。包是函数和数据的集合,将有相关特性的函数和数据放在统一的文件/目录进行管理,每个包都可以作为独立的单元维护并提供给其他项目进行使用。 包声明Go 源文...
errors Go 语言通过 error 接口实现错误处理的标准模式,通过使用函数返回值列表中的最后一个值返回错误信息,将错误的处理交由程序员主动进行处理。可以通过 erro...
函数像其他值一样,拥有类型,可以被赋值给其他变量,传递给函数,从函数返回。 函数类型的零值是nil。调用值为nil的函数值会引起panic错误: 函数值可以与nil比较: 但...
递归 递归是指函数直接或间接调用自己。递归常用于解决分治问题,将大问题分解为相同的小问题进行解决。递归必须要有终止条件。 练习1 练习2 阶乘 练习3 汉诺塔游戏汉诺塔游戏将...
函数用于对代码块的逻辑封装,提供代码复用。Go 语言最少有个 main() 函数。 函数定义 函数声明包括函数名、形参列表、函数体和返回值列表,使用 func 进行声明,函数...
值类型和引用类型的差异在于赋值同类型新变量后,对新变量进行修改是否能够影响原来的变量,若不能影响则为值类型,若能影响则为引用类型。 值类型是值拷贝,引用类型是公用底层数据。 ...
Map是存储一系列无序的key/value对,通过key来对value进行操作(增、删、改、查)。Map的key只能为可使用==运算符的值类型(字符串、数字、布尔、数组),v...
切片是长度可变的数组(具有相同数据类型的数据项组成的一组长度可变的序列),切片由三部分组成:指针:指向切片第一个元素指向的数组元素的地址长度:切片元素的数量容量:切片开始到结...
数组是具有相同类型的数据项组成的一组长度固定的序列,数据项叫做数组的元素,数组的长度必须是非负整数的常量,长度也是类型的一部分。 声明数组 Go 语言数组声明需要指定元素类型...
Go 语言的 For 循环有 3 种形式,只有其中的一种使用分号。 for for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如下:...
switch switch语句基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。switch语句由上往下执行,直到找到匹配项,匹配项...
条件语句通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句 if语句 if 语句由布尔表达式后紧跟...
一个指针变量指向了一个值的内存地址。 指针有3个概念: 指针地址、指针类型和指针取值。记住2个符号: &取变量的内存地址和*取变量的内存地址的值 任何类型的指针的零值都是ni...
字符串是一个不可改变的字节序列。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。 字符串定义 字符串操作算术运算符: +关系运算: == != > ...
Go语言中数值类型包括几种不同大小的整数、浮点数和复数。每种数值类型都决定了对应的大小范围和是否支持正负符号。 整数 Go语言提供了5种有符号、5种无符号、1种指针、1种单字...