【Go语言基础之变量和常量】教程文章相关的互联网学习教程文章

10天0基础光速入门go语言 方法

转载请注明来源"老男孩IT教育"来源网址:https://www.sholdboyedu.com/new/554.html一个方法就是一个包含了接受者的函数,接受者可以是命名类型或者结构体类型的一个值或者是一个指针。什么是方法?方法其实就是一个函数,在 func 这个关键字和方法名中间加入了一个特殊的接收器类型。接收器可以是结构体类型或者是非结构体类型。接收器是可以在方法的内部访问的。下面就是创建一个方法的语法。func (t Type) methodName(parameter ...

Go实现自定义语言的基础 - goyacc简易入门【代码】【图】

0x01 自言自语一直就对解析文档,比较感兴趣,一直没深入研究,只停留在仅知道 Lex & yacc 和 antlr 的名词阶段,最近看了go-zero的api解析器,觉得甚好,是时候花时间学习一下了。 简单看了go-zero发现是自己实现了词法分析、语法解析,这不符合我的一贯偷懒作风,所以并未其源码开始学习。既然用golang那么他自带的goyacc就是我学习的不二之选。当然你可能会听说Lex&yacc 已经很古老了,antlr更先进一点。但是既然goyacc能成为go...

非零基础速成Go语言_基础篇【代码】【图】

非零基础速成Go语言_基础篇这里不带着安装 Go 环境了,推荐大家准备 Goland + Go 环境以下是所有语言都有的特性,看看 Go 有什么不一样的地方文章目录 非零基础速成Go语言_基础篇整形再细分结构包数组切片字典 指针流程控制异常机制整形再细分 Go 语言中,整数类型可以再细分成10个类型int 代表有符号,可表示负数 uint 代表无符号,只能表示正数。 结构包 数组数组定义数组是一个由固定长度的特定类型元素组成的序列,一个数组可以...

Golang基础——异常处理【代码】

异常处理 panic : 相当于 python 的 raise func test111() interface{} {return 1 / 1 }func main() {a := test111()// panic("111") // 报错结束,致命错误,一般不用 相当于 raisefmt.Println(a) } defer : 栈结构 func main() {defer fmt.Println("good") // 最后执行,必须在函数内使用defer fmt.Println("world") // 后进先出,栈结构// world// good// defer中,延迟调用函数,报错,其他代码依然执行x := 10y := 20de...

Go语言基础之运算符

目录一、运算符二、算数运算符三、关系运算符四、逻辑运算符五、位运算符六、赋值运算符更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.html运算符用于在程序运行时执行数学或逻辑运算。一、运算符Go 语言内置的运算符有:算术运算符关系运算符逻辑运算符位运算符赋值运算符二、算数运算符运算符描述+相加-相减*相乘/相除%求余注意:++(自增)和...

Go语言基础之单元测试【代码】

目录一、go test工具二、测试函数三、测试函数的格式四、测试函数示例五、测试组六、子测试七、测试覆盖率八、基准测试九、基准测试函数格式十、基准测试示例十一、性能比较函数十二、重置时间十三、并行测试十四、Setup与TearDown十五、TestMain十六、子测试的Setup与Teardown十七、示例函数十八、示例函数的格式十九、示例函数示例更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.c...

Go语言基础之反射【代码】

目录一、变量的内在机制二、反射介绍三、reflect包四、TypeOf4.1 type name和type kind五、ValueOf5.3.1 isNil()5.3.2 isValid()5.3.3 举个例子5.1 通过反射获取值5.2 通过反射设置变量的值5.3 isNil()和isValid()六、结构体反射七、与结构体相关的方法八、StructField类型九、结构体反射示例十、反射是把双刃剑十一、练习题更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.c...

Go语言基础之切片【代码】【图】

目录一、引子二、切片三、切片的定义3.1 切片的长度和容量3.2 基于数组定义切片3.3 切片再切片3.4 使用make()函数构造切片3.5 切片的本质四、切片不能直接比较五、切片的赋值拷贝六、切片遍历七、append()方法为切片添加元素八、切片的扩容策略九、使用copy()函数复制切片十、从切片中删除元素十一、练习题更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/...

Go语言基础之变量和常量【代码】

目录一、标识符与关键字二、标识符三、关键字四、变量五、变量的来历六、变量类型七、变量声明7.3.1 类型推导7.3.2 短变量声明7.3.3 匿名变量7.1 标准声明7.2 批量声明7.3 变量的初始化八、常量九、iota9.1 几个常见的iota示例:更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.html变量和常量是编程中必不可少的部分,也是很好理解的一部分。一、...

Go语言基础之指针【代码】【图】

目录一、Go语言中的指针二、指针地址和指针类型三、指针取值四、new和make4.1 new4.2 make4.3 new与make的区别更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.html区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值。一、Go语言中的指针Go语言中的函...

Go语言基础之接口【代码】

目录二、接口类型七、值接收者和指针接收者实现接口的区别10.2.1 空接口作为函数的参数10.2.2 空接口作为map的值10.2 空接口的应用十一、类型断言更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.html接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。# 一、接口二、接口类型在Go语言中接口(interf...

Go语言基础之基本数据类型【代码】

目录一、基本数据类型二、整型2.1 特殊整型2.2 数字字面量语法(Number literals syntax)三、浮点型四、复数五、布尔值六、字符串6.1 字符串转义符6.2 多行字符串6.3 字符串的常用操作七、byte和rune类型7.1 修改字符串八、类型转换九、练习题更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.htmlGo语言中有丰富的数据类型,除了基本的整型、浮点...

Go语言基础之函数【代码】

目录一、函数二、函数定义三、函数的调用四、参数4.1 类型简写4.2 可变参数五、返回值5.1 多返回值5.2 返回值命名六、函数进阶七、变量作用域7.1 全局变量7.2 局部变量八、函数类型与变量8.1 定义函数类型8.2 函数类型变量九、高阶函数9.1 函数作为参数9.2 函数作为返回值十、匿名函数和闭包10.1 匿名函数10.2 闭包十一、defer语句11.1 defer执行时机11.2 defer经典案例11.3 defer面试题十二、内置函数介绍12.1 panic/recover十三、...

Go语言基础之结构体【代码】

目录一、类型别名和自定义类型二、自定义类型三、类型别名四、类型定义和类型别名的区别五、结构体六、结构体的定义七、结构体实例化7.1 基本实例化7.2 匿名结构体7.3 创建指针类型结构体7.4 取结构体的地址实例化八、结构体初始化8.1 使用键值对初始化8.2 使用值的列表初始化九、结构体内存布局十、面试题十一、构造函数十二、方法和接收者12.1 指针类型的接收者12.2 值类型的接收者12.3 什么时候应该使用指针类型接收者十三、任意...

Go语言基础之包【代码】【图】

目录一、Go语言的包(package)二、包介绍三、定义包四、可见性五、包的导入5.1 单行导入5.2 多行导入六、自定义包名七、匿名导入包八、init()初始化函数8.1 init()函数介绍8.2 init()函数执行顺序九、练习题更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.html在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的。本...