12 2024 档案
摘要:目录1 文件处理1.1 打开和关闭文件1.2 读取文件1.2.1 简单示例1.2.2 中文乱码1.2.2.1 bufio1.2.2.2 ioutil1.3 写入文件1.3.1 Write 和 WriteString1.3.2 fmt.Fprintln1.3.2.1 写入文件1.3.2.2 写入标准输
阅读全文
摘要:目录1 Go并发1.1 WaitGroup1.2 并发锁1.2.1 互斥锁1.2.2 读写互斥锁1.2.3 sync.Once1.2.4 sync.Map1.3 Context1.3.1 简介1.3.2 主要功能1.3.3 使用示例1.3.3.1 取消信号1.3.3.2 设置超时1.3.3.3 传递
阅读全文
摘要:目录1 指针1.1 简介1.2 使用指针1.3 指针优化输出1.3.1 优化输出复杂类型1.3.2 去掉优化1.3.3 基本类型1.4 指针数组1.4.1 指针数组优化1.5 指向指针的指针1.6 向函数传递指针参数2 反射2.1 reflect2.1.1 示例2.2 获取变量值 ValueOf2.
阅读全文
摘要:目录1 并发1.1 简介1.2 Goroutine1.2.1 简介1.2.2 特点1.2.3 检测数据访问冲突1.2.4 示例1.3 通道(Channel)1.3.1 普通通道1.3.1.1 简介1.3.1.2 声明通道1.3.1.3 普通通道示例1.3.2 带缓冲区通道1.3.2.1 简介1.3.
阅读全文
摘要:目录1 结构体1.1 简介1.2 定义结构体1.3 声明结构体1.3.1 new声明1.3.2 直接声明1.3.3 与 new 的对比1.3.4 new 和 & 操作符的区别1.3.5 结构体指针1.4 结构体标签1.4.1 标签的语法1.4.2 标签的工作机制1.4.3 常见用途1.4.3.1 J
阅读全文
摘要:目录1 条件语句1.1 if 语句1.2 switch1.2.1 switch1.2.2 Type Switch1.2.3 fallthrough2 for循环2.1 简介2.2 For-each range 循环2.3 示例3 错误处理3.1 简介3.2 error 接口3.2.1 error接口
阅读全文
摘要:目录1 自定义函数1.1 函数定义1.2 函数调用与返回多值1.2.1 返回类型1.2.2 命名返回值1.3 函数参数1.3.1 值传递1.3.2 引用传递1.3.3 不定参数1.4 函数变量&回调1.4.1 函数变量1.4.2 函数回调1.5 匿名函数1.6 defer函数1.6.1 定义1.6.
阅读全文
摘要:目录1 数组1.1 简介1.1.1 声明数组1.1.2 初始化数组1.3 访问数组元素1.4 多维数组1.4.1 二维数组1.4.2 初始化二维数组1.4.3 访问二维数组1.5 数组与函数2 切片2.1 简介2.1.1 定义切片2.1.2 切片初始化2.1.3 len() 和 cap() 函数2.
阅读全文
摘要:目录1 文件夹与包1.1 包1.1.1 包的导入1.1.2 包&文件1.1.3 示例1.2 文件夹1.2.1 文件夹&文件1.2.2 嵌套文件夹1.3 访问权限1.3.1 简介1.3.2 包内的私有可互相访问1.3.3 包访问级别2 数据类型&变量2.1 数据类型2.1.1 常见类型2.1.1.1
阅读全文
摘要:目录1 Go1.1 简介1.1.1 定义1.1.2 特点用途1.2 环境配置1.2.1 下载安装1.2.2 环境配置1.2.2.1 添加环境变量1.2.2.2 各个环境变量理解1.2.3 验证环境变量1.3 包管理工具 Go Modules1.3.1 开启使用1.3.2 添加依赖包1.3.3 配置国
阅读全文
摘要:目录1 误删恢复数据1.1 引言1.2 解决方案1.2.1 通用操作1.2.1.1 确认binlog开启1.2.1.2 binlog模式1.2.1.3 binlog信息查询1.2.2 方案一:找到insert语句,重新插入1.2.2.1 找到binlog文件1.2.2.2 根据时间点解析binlog
阅读全文
摘要:目录1 抽象1.1 抽象方法1.1.1 抽象方法1.1.2 虚方法1.1.3 new1.2 抽象属性1.3 抽象示例2 接口2.1 定义2.2 简单使用2.2.1 声明使用接口2.2.2 接口继承2.3 接口 显式实现和隐式实现2.3.1 隐式实现2.3.2 显式实现2.3.3 多接口实现中的应用3
阅读全文
摘要:目录1 访问限制1.1 简介2 类基础讲解2.1 类定义2.2 构造函数2.2.1 构造函数2.2.2 静态构造函数2.2.3 初始化顺序2.2.4 对象初始化器2.3 析构函数2.4 类的静态成员2.5 匿名对象2.5.1 定义2.5.2 匿名对象的创建3 继承3.1 基类和派生类3.2 基类初始
阅读全文
摘要:目录1 集合1.1 数组1.1.1 简介1.1.2 声明使用1.1.2.1 声明 & 初始化1.1.2.2 赋值给数组1.1.2.3 访问数组元素1.1.3 多维数组1.1.3.1 声明1.1.3.2 初始化二维数组1.1.3.3 访问二维数组元素1.1.4 交错数组1.1.5 传递数组给函数1.1
阅读全文
摘要:目录1 方法1.1 定义方法1.2 参数传递1.2.1 按值传递参数1.2.2 按引用传递参数1.2.3 按输出传递参数1.2.4 可变参数 params1.2.5 具名参数1.2.6 可选参数1.3 匿名方法1.3.1 Lambda 表达式1.3.1.1 定义1.3.1.2 常用类型1.3.1.3
阅读全文
摘要:目录1 反射1.1 简介1.1.1 定义1.1.2 优缺点1.1.3 使用场景&注意事项1.2 核心组件1.3 反射方法使用1.3.1 获取类型信息1.3.2 检查类型的元数据1.3.3 动态调用方法1.3.4 动态创建对象1.3.5 访问私有成员1.4 示例1.4.1 动态调用方法与属性1.4.1
阅读全文
摘要:目录1 特性1.1 简介1.1.1 定义1.1.2 特性的定义1.1.3 与java注解区别1.2 内置特性1.2.1 常见内置特性1.2.2 预定义特性1.2.2.1 AttributeUsage1.2.2.2 Conditional1.2.2.3 Obsolete1.3 自定义特性1.3.1 声
阅读全文
摘要:目录1 委托1.1 简介1.2 操作使用1.2.1 声明委托(Delegate)1.2.2 实例化委托(Delegate)1.2.3 直接调用和invoke1.2.4 Invoke 和 BeginInvoke1.3 委托的多播1.4 委托的匿名和lambda1.4.1 匿名方法1.4.2 lambd
阅读全文
摘要:目录1 多线程1.1 简介1.1.1 进程&线程1.1.2 线程优缺点1.1.3 主线程1.2 线程生命周期1.3 常用属性和方法1.4 创建线程1.4.1 System.Threading.Thread1.4.1.1 不带参数处理1.4.1.2 带参数处理1.4.1.3 不用new ThreadS
阅读全文
摘要:目录1 预处理器1.1 简介1.1.1 定义1.1.2 预处理器指令列表1.2 指令示例详解1.2.1 #define 和 #undef 预处理器1.2.2 条件指令:#if, #elif, #else 和 #endif1.2.3 综合示例2 异常处理2.1 简介2.1.1 定义2.1.2 异常类2
阅读全文
摘要:目录1 结构体1.1 简介1.2 结构体特点1.3 类 vs 结构1.4 定义结构体1.5 结构体指针1.6 实例1.6.1 示例一1.6.2 示例二1.6.3 示例三 1 结构体 1.1 简介 在 C# 中,结构体(struct)是一种值类型(value type),用于组织和存储相关数据。 在
阅读全文
摘要:目录1 不安全代码1.1 简介1.2 指针变量1.3 编译不安全代码1.4 使用示例1.4.1 简单使用1.4.2 使用指针检索数据值1.4.3 传递指针作为方法的参数1.4.4 使用指针访问数组元素1.5 fixed1.5.1 为什么需要 fixed1.5.2 为什么 int *p 和 int[]
阅读全文