首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
golang/够浪
uccs
创建于2023-05-10
订阅专栏
前端学 golang,谁能比我浪
等 37 人订阅
共66篇文章
创建于2023-05-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
go 中一些其他的用法
如果实现 Go 调用 C 用注释写一段 C 代码 下面紧跟着 import "C",注释会变颜色 用 C 包调用 sum 函数 go 语言是如何实现调用 C 代码的呢? 运行 go tool cgo
高并发下的通信方式 channel
不要用共享内存的方式通信,而要用通信的方式共享内存 channel 是 go 中的一等公民 通过共享内存来通信,会导致数据竞争,从而导致程序出现不可预知的错误 通过通信的方式共享内存,可以避免数据竞争
Go 高并发下的锁
锁的基础 go 的锁是建立在两个基础之上:atomic 和信号锁 sema atomic atomic 是原子操作,比如对一个 int32 类型的变量加 1,就可以使用 atomic.AddInt32
go 高并发的工作原理 Goroutine
为什么要有协程,线程不好吗 go 语言的协程和其他编程语言的协程有区别 进程 占据内存空间 进程是操作系统的最小单位(一个进程就是一个应用或者一个程序) 线程 占用 cpu 的处理能力(cpu 的时间
go 高并发下的数据结构
什么变量的大小是 0 字节 查看一个变量的字节大小 int 类型的变量大小是 8 字节,int 类型的变量大小是不固定的,会因为不同的操作系统而改变 int32 类型的变量大小是 4 字节 int64
重新认识 go
go 的 Runtime Runtime 作为程序的一部分打包进二进制产物 Runtime 随用户程序一起运行 Runtime 与用户程序没有明显界限,直接通过函数调用 Go Runtime 的能力:
在 go 中使用 jwt
生成 token 一般用 jwt,常用的两种加密方式是 HS256 和 RS256,借助 "github.com/golang-jwt/jwt/v5" 这个库来实现 jwt 由三部分组成: heade
基于 logrus 实现日志按照 date 或者 level 分类输出
基于 logrus 实现一个日志输出的工具,具备的功能: 自定义输出内容 输出到文件 输出到控制台 自定义输出内容,通过 logrus.setFormatter 方法设置自定义的 Formatter,
gin 基本使用 2
下载文件 在 go 中,相对路径是相对于目录的路径 重定向 获取请求参数 query ?name=1&age=2 这种形式的参数叫做 query 参数 使用 Query 方法获取请求参数,如果参数不存
gorm 基本使用 2
数据库连接时的一些配置 gorm 连接数据库时,可以配置一些参数,如下: log 配置 gorm 默认只打印错误和慢 SQL,默认是不展示 log,配置 log 有三种方式 全局配置 局部配置 db
go-zero 连接 gorm 并提供 api 接口
go-zero 操作 mysql 在 go-zero 中操作 mysql 数据库,先通过 goctl 生成 model 文件,然后通过 model 文件操作数据库 具体的操作方式如下: 通过 sql
go 网络编程
TCP go 网络编程中,用的最多的包是 net 使用 net.Listen 创建一个 tcp 服务,使用 net.Dial 创建一个 tcp 客户端 tcp 是流传输协议,是面向连接的,是可靠的,是
go 中 json 处理方式
json 序列化 go 语言中序列化 json 数据使用 json.Marshal 方法,代码如下: 如果说需要对 json 数据进行格式化输出,可以使用 json.MarshalIndent 方法,
go-zero 基本使用
环境安装 goctl 安装 etcd 安装 etcd 基本命令 api 语法 service 定义的代码块,是用于 api 服务 service 声明一个变量 users,用于定义服务的名称(可以小写
go 测试基本知识
在 go 语言中编写测试用例非常简单,只需要在测试文件中导入 testing 包,然后编写测试函数即可: 测试文件的命名规则是 xxx_test.go,其中 xxx 是被测试的文件名 测试函数以 Te
go 中获取环境变量和文件读取与写入
环境变量 go 中读取环境变量是通过 os.Getenv 环境变量存储位置是看你的终端 如果你的终端是 zsh 那么你可以在 ~/.zshrc 中设置,如果是 bash 那么你可以在 ~/.bashr
etcd 服务注册与发现
安装 创建网络: 启动 etcd 服务端实例 启动 etcd 客户端实例 打开浏览器,访问 http://localhost:2379/version,就可以看到 etcd 的版本信息 etcd 基本
go 中 channel select reflect 使用
channel 无缓冲区的 channel 会阻塞,直到有 goroutine 读取数据 初始化 channel,使用 make 函数: 有缓冲区:ch := make(chan int, 10) 无
go 中利用 reflect 实现 json 序列化
利用反射实现 json 序列化 reflect.ValueOf() 函数的作用是返回一个包含给定值的 reflect.Value 类型的值 拿到值 rv之后 ,使用 rv.Type().Kind()
go 基础中的一些坑
类型转换 在 go 语言中,类型转换是显式的,不会自动转换 string 转换成 int 需要借助 strconv 包 使用 strconv.Atoi 函数将 string 转换成 int,转换后它会
下一页