-
前言
其实golang的排序思路和C和C++有些差别。 C默认是对数组进行排序, C++是对一个序列进行排序, Go则更宽泛一些,待排序的可以是任何对象, 虽然很多情况下是一个slice(分片, 类似于数组)
-
在我们编程过程中,经常会用到与时间相关的各种务需求,下面来介绍 golang 中有关时间的一些基本用法,我们从 time 的几种 type 来开始介绍。
时间可分为时间点与时间段, golang 也不例外,提供
-
package main
import (
"fmt"
"go_code/chapter02/funinit/utils"
)
// 3、全局匿名函数
var(
Fun1 = func(n1 int,n2 int) int {
return n1 * n2
}
)
// init 函数,通常在init函数中完成初始化工作
func main(){
// 1、在定义匿名函
-
1.调节页面字体
File->Settings->Editor->Font
2.调节代码编辑区字体
Setting->Editor->Color Scheme->Console Scheme Font
3.调节terminal区字体
Setting->Editor->Color Scheme->Console Font
若不生效,重
-
Golang 复制文件夹,包括文件夹中的文件
/**
* 拷贝文件夹,同时拷贝文件夹中的文件
* @param srcPath 需要拷贝的文件夹路径: D:/test
* @param destPath 拷贝到的位置: D:/backup/
*/
func CopyDir(srcPath string, de
-
概述
路由是自定义url地址执行指定的函数,良好的路由定义可以对seo起到很好的效果。
1. 基本路由
gin框架封装了http库,提供了 GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS 这些http请求方式。
使用 r
-
gorm是目前用得最多的go语言orm库,但是目前gorm官方并不支持oracle的驱动,需要用到第三驱动,最近有个项目要往oracle写数据,记录一下踩到的坑
下载依赖
go get github.com/cengsin/oracle
这个驱动与最
-
新建数据库
将部分数据存储至Mysql,使用axios通过golang搭建的http服务器获取数据。
sql
DROP DATABASE VUE;
create database if not exists vue;
use vue;
JSON to MySQL (transform.tools)
sql
DROP DATABASE VUE;
create database if
-
Go 处理 gzip 时要同时限制压缩输入和解压输出。本文用 io.LimitReader(maxOutput+1) 识别超限,并说明多成员、EOF、校验和与资源释放边界。
-
Go 1.27 为 QUIC 服务端握手增加 QUICConfig.ClientHelloInfoConn,用来指定 ClientHelloInfo.Conn 的底层连接。本文区分 TLS Conn、QUICConn 与底层 net.Conn,说明只读边界和回调取值方式。
-
Server.ConnContext 只在新连接建立时修改连接级上下文,之后同一连接上的请求会继承它。本文用最小 HTTP 服务追踪 BaseContext、ConnContext、Handler 的调用顺序,并说明连接复用、HTTP/2 与清理逻辑的边界。
-
time.Ticker.Stop 只停止后续计时,不会关闭 ticker.C。本文用可复现的 Go 代码说明停止、退出和取消之间的边界,并给出不会卡住的定时任务收尾写法。
-
Go 的 sync.Map.Clear 可以一次清空映射中的全部条目,但它只适合明确的批量失效场景。通过并发读写示例、基线测量和结果核对,说明 Clear 的可见性、成本与替代方案。
-
不是必须,但绝大多数跨模块本地开发场景下replace是唯一可靠方式;go.work是Go1.18+推荐的多模块协同方案;子模块go.mod中不可require主模块;CI/CD需禁用go.work并独立发布各模块。
-
Go不推荐手写双重检查锁单例,因sync.Once已是内存安全、零分配且经优化的成熟实现;手写易出错、难维护,且无法获得编译器特殊优化。