首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Go语言从入门到实战
今天捡到一百块钱
创建于2023-02-09
订阅专栏
Go语言从入门到实战
暂无订阅
共18篇文章
创建于2023-02-09
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Go的database/sql的简单使用
零、windows系统安装MySQL 访问MySQL的官网:https://downloads.mysql.com/archives/community/ 下载5.6.47版本的MySQL压缩包 在本
共享内存并发机制
问题引入 我们先看下下面的代码,看看输出的结果是什么,符合我们的预期吗? 运行过上面代码的同学应该都发现了: 每次的输出结果都是不一样的 每次的结果都不是5000 造成上述问题的原因就是该程序不是线程
协程机制
Thread VS Groutine 创建时默认的stack的大小 JDK5以后Java Thread stack默认为1M Groutine的stack初始化大小为2K 和KSE(Kernel Sp
构建可复用的模块(包)
package规范 基本复用模块单元:以首字母大写来表明可被包外代码访问 代码的package可以和所在的目录不一致 同一目录里的Go代码的package要保持一致 package安装 通过go ge
Go的错误机制
Go错误机制 没有异常机制 error类型实现了error接口 可以通过errors.New来快速创建错误实例 最佳实践 panic panic用于不可以回复的错误 panic退出前汇之星defer指
多态
代码演示 空接口与断言 空接口可以表示任何类型 通过单元来将空接口转换成指定类型 Go接口最佳实践 倾向于使用小的接口定义,很多接口只包含一个方法 较大的接口定义,可以有多个小接口定义组合而成 只依赖
接口
接口于依赖 Duck Type式接口实现 定义接口 接口实现 Go接口 接口为非侵入性的,实现不依赖接口定义 所以接口的定义可以包含在接口使用者包内 接口变量 自定义类型 type IntConver
“面向对象“编程
结构体定义 实例化及初始化 行为(方法)定义 ---------------------------
函数
函数一等公民 可以返回多个返回值 所有参数都是值传递:slice、map、channel会有传引用的错误,根本原因就是这些数据类型本身就是引用类型 函数可以作为变量的值 函数可以作为参数和返回值 可变
09-字符串
字符串 string是数据类型,不是引用或指针类型 string只是只读的byte slice,len函数可以读出它所包含的byte数。注意中文比较特殊 string的byte数组可以存放任何数据 U
08-Map拓展
Map与工厂模式 Map的value可以是一个方法 与Go的Dock type接口方式一起,可以方便地实现单一方法对象的工厂模式 实现Set 元素唯一性 基本操作 添加元素 判断元素是否存在 删除元素
07-Map声明、元素访问及遍历
Map声明 Map元素的访问 在访问的Key不存在时,Map仍然会返回零值,不能通过nil来判断元素是否存在 Map遍历
06-数组和切片
数组的声明 数组的截取 a[开始索引(包含), 结束索引(不包含)] 切片内部结构 切片的声明 切片共享存储结构 数组 VS 切片 容量是否可伸缩 是否可以进行比较
05-循环
循环 Go语言仅支持循环关键字for 代码示例 if条件语句 cindition表达式结果必须是布尔值 支持变量赋值 switch条件 条件表达式不限制为常量或者整数 单个case中,可以出现多个结果
04-运算符
算数运算符 运算符 描述 实例 + 相加 A + B 输出的结果是30 - 相减 A - B 输出的结果是10 * 相乘 A * B 输出的结果是200 / 相除 B / A 输出的结果是2 % 求余
03-数据类型
基本数据类型 bool string int、int8、int6、int32、int64 uint、uint8、uint6、uint32、uint64、uintptr byte alias for u
02-变量、常量以及与其他语言的差异
编写测试程序 源码文件以_test结尾:xxx_test.go 测试方法名以Test开头:func TestXXX(t *testing.T) {...} 实现一个菲波那切数列 变量赋值 赋值可以进行
01-编写第一个Go程序
--- theme: channing-cyan highlight: a11y-dark --- ### 开发环境构建 **GOPATH** 1. 在1.8版本之前必须设置这个环境变量 2. 1.8