0.1、索引waterflow.link/articles/1664943418...文中提到的垃圾回收算法是基于go1.16之后的,让我们直接进入正题吧。1、什么时候需要垃圾回收?Go 更喜欢在堆栈上分配内存,因此大多数内存分配最终都会在栈上。 这意味着 Go 每个 goroutine 都有一个堆栈,并且在可能的情况下,Go 会将变量分配给这个堆栈。 Go ......
432
0
0
2022-11-16
1、命令行工具概述日常命令行操作,相对应的众多命令行工具是提高生产力的必备工具,我在之前的文章我的生产力工具推荐-终端01篇中有推荐过一些我常用的基于terminal终端的命令行cli工具鼠标能够让用户更容易上手,降低用户学习成本。 而对于开发者,键盘操作模式能显著提升生产力,还有在一些专业工具中, 大量使用快捷键代替繁琐的鼠标操作,能够使开发人员更加专注于 ......
350
0
0
2022-11-16
0.1、索引waterflow.link/articles/1664591292...1、tcp的3次握手(建立连接)客户端的协议栈向服务器端发送了 SYN 包,并告诉服务器端当前发送序列号 j,客户端进入 SYNC_SENT 状态;服务器端的协议栈收到这个包之后,和客户端进行 ACK 应答,应答的值为 j+1,表示对 SYN 包 j 的确认,同时服务器也发 ......
554
0
0
2022-11-16
0.1、索引waterflow.link/articles/1664080524...1、未知的枚举值我们现在定义一个类型是unit32的Status,他可以作为枚举类型,我们定义了3种状态type Status uint32 const ( StatusOpen Status = iota StatusClosed St ......
423
0
0
2022-11-15
0.1、索引waterflow.link/articles/1663921524...通过使用一些通用代码来节省时间,而无需单独实现它们。以下是一些开发中经常会用到的函数实现的列表。1、检查数组中元素是否存在Golang 没有预定义的函数来检查数组中元素的存在。以下代码片段为您完成相同的工作。很简单,遍历一遍数组检查元素是否存在。package main ......
408
0
0
2022-11-15
JWT官网jwt库很多了 各有各的优势 有些库是不维护了我选择了 github.com/golang-jwt/jwt 库获取命令:go get -u github.com/golang-jwt/jwt/v4Headerheader典型的由两部分组成:token的类型(“JWT”)和算法名称(比如:HMAC SHA256或者RSA等等{ 'typ': ' ......
413
0
0
2022-11-15
0.1、索引blog.waterflow.link/articles/16636...1、简介单元测试是测试代码、组件和模块的单元函数。单元测试的目的是清除代码中的错误,增加代码的稳定性,在更改代码时提供正确性。单元测试是软件测试的第一级,然后是集成测试和 ui 测试。2、编写测试代码首先测试文件的命名必须以_test.go结尾,测试方法必须以Test开头我 ......
360
0
0
2022-11-15
0.1、索引blog.waterflow.link/articles/16629...1、进程一个进程包含可以由任何进程分配的公共资源。这些资源包括但不限于内存地址空间、文件句柄、设备和线程。一个进程会包含下面一些属性:Process ID:进程IDProcess State:进程状态Process Priority:进程优先级Program Counter ......
421
0
0
2022-11-14
0、索引go-zero docker-compose 搭建课件服务(五):完善user服务0.1源码地址github.com/liuyuede123/go-zero-cou...1、生成model到项目根目录下创建model目录,并新建user.sqlmkdir user/rpc/model touch user/rpc/model/user.sql C ......
376
0
0
2022-11-13
02 | 命令源码文件我们已经知道,环境变量 GOPATH 指向的是一个或多个工作区,每个工作区中都会有以代码包为基本组织形式的源码文件。这里的源码文件又分为三种,即:命令源码文件、库源码文件和测试源码文件,它们都有着不同的用途和编写规则。对于 Go 语言学习者来说,你在学习阶段中,也一定会经常编写可以直接运行的程序。这样的程序肯定会涉及命令源码文件的编写, ......
321
0
0
2022-11-13
原文链接: gRPC,爆赞gRPC 这项技术真是太棒了,接口约束严格,性能还高,在 k8s 和很多微服务框架中都有应用。作为一名程序员,学就对了。之前用 Python 写过一些 gRPC 服务,现在准备用 Go 来感受一下原汁原味的 gRPC 程序开发。本文的特点是直接用代码说话,通过开箱即用的完整代码,来介绍 gRPC 的各种使用方法。代码已经上传到 Gi ......
468
0
0
2022-11-13
前言请先获取:go get github.com/twgh/xcgui 然后到网盘下载xcgui.dll,百度云 , 蓝奏云网盘里有64位的和32位的dll,一般选择64位的,go编译的程序默认也是64位的。xcgui.dll需要和编译出来的程序放在一起,但每写一个程序都重复放的话就很麻烦了。在开发时我建议把xcgui.dll放到C:\Windows\Sy ......
359
0
0
2022-11-13
package main import ( "fmt" "log" "net/http" "time" ) func product(w http.ResponseWriter, r *http.Request) { time.Sleep(300 * time.Millisecond) ......
400
0
0
2022-11-12
CGO 涉及的数据类型转换包含一下内容:数值类型字符串和切片类型结构体、联合体、枚举类型‘数组类型指针类型数组和指针间的转换切片和切片之间的转换前面 3 个咱们在上一篇短文已经梳理到了,接下来继续数组类型C 语言里面:数组C 语言里面,数组名对应一个指针,指向特定类型特定长度的一段内存,但是这个指针不能被修改C语言的字符串是一个char类型的数组,字符串的长 ......
339
0
0
2022-11-12
这一节我们重现一下go-zero仓库中的短链接服务案例:短链接服务短链接服务的流程一般是这样的这里为了简单点我们就模拟一个生成短链接key的接口以及根据key去换取原url地址的接口准备工作这个案例我们要用到mysql、redis、以及etcd,这里为了简单我就用docker安装一下:#安装etcd服务端 docker pull bitnami/etcd ......
372
0
0
2022-11-12