文章介绍本文我们将从零开始介绍Gin的安装,Gin的简单入门,基于Gin框架的登录/注册表单验证实例,Gin中间件的原理分析,Gin返回html,静态文件的挂载和Gin优雅的退出什么是Gin?官方:Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架。 它具有类似 Martini 的 API,但性能比 Martini 快 40 倍。如果你 ......
442
0
0
2022-11-04
用 Go 来实现链表、栈、队列、散列表、树、二叉树、堆、图图的认识图是一种较线性表和树更加复杂的数据结构,由顶点和连接每对顶点的边所构成的图形就是图。图由两个元素组成:节点 和 关系 。在图形结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都可能相连。图(Graph)是由顶点的有穷非空集合和顶点之间的集合组成,通常表示为G[V, E],其中G表示 ......
517
0
0
2022-10-30
用 Go 来实现链表、栈、队列、散列表、树、二叉树、堆、图堆的认识堆是一棵基于数组实现的特殊的完全二叉树,这棵二叉树的每个节点的值必须大于或小于它的两个子节点。大顶堆是每个节点的值必须大于它的两个子节点,小顶堆则相反。堆的顶点必定是他的最大值或最小值应用场景优先级队列:合并有序小文件,高性能定时器利用堆求 Top K求中位数堆// heap.go pack ......
370
0
0
2022-10-30
文章介绍在篇内容介绍基于golang的gorm,这里我将简单介绍如何安装,连接数据库(以MySQL为例),以及基本的curd操作安装gorm官方文档go get -u gorm.io/gorm go get -u gorm.io/driver/sqlite 模型定义模型是标准的 struct,由 Go 的基本数据类型、实现了 Scanner 和 Valu ......
504
0
0
2022-10-30
使用golang开发PHP扩展环境golang 1.18 (低版本没尝试,应该也可以)LinuxPHP7.4 源码安装 (PHP8.x PHP5.X 没有尝试)代码组成 config.m4 function.go main.goconfig.m4文件:PHP脚手架ext_skel生成main.gopackage main //#cgo CFLAGS: ......
518
0
0
2022-10-29
一、安装服务使用yum命令安装(推荐)$ sudo su - #切换为root用户 # yum install epel-release # yum install -y supervisor # systemctl enable supervisord # 开机自启动 # systemctl start supervisord # 启动supe ......
380
0
0
2022-10-28
有了服务注册和发现机制,消费者不需要知道具体服务提供者的真实物理地址就可以进行调用,也无须知道具体有多少个服务者可用;而服务提供者只需要注册到注册中心,就可以对外提供服务,在对外服务时不需要知道具体是哪些服务调用了自己。RPC 配置Etcd: Hosts: - 127.0.0.1:2379 Key: user.rpc 这里分析go- ......
386
0
0
2022-10-28
图片写入pdf文件需求: 要求图片自适应大小,居中写入pdf文件中,两张小图片放入一张A4纸,大图片写入一张A4纸图片上传// 判断路径是否存在 func Exists(path string) bool { _, err := os.Stat(path) //os.Stat获取文件信息 if err != nil { ......
400
0
0
2022-10-27
AES CBC 加密解密简介密码分组链接模式 CBC (Cipher Block Chaining),这种模式是先将明文切分成若干小段,然后每一小段与初始块或者上一段的密文段进行异或运算后,再与密钥进行加密。这时候就有个问题,那第一段的明文怎么加密呢?这时候就引入了初始化向量(英语:initialization vector,缩写为IV)。初始化向量是随机的 ......
647
0
0
2022-10-27
Gookit Color Golang下的命令行色彩使用库, 拥有丰富的色彩渲染输出,通用的API方法,兼容Windows系统基本颜色预览:现在,256色和RGB色彩也已经支持windows CMD和PowerShell中工作:功能特色使用简单方便,无其他依赖支持丰富的颜色输出, 16色(4bit),256色(8bit),RGB色彩(24bit, ......
398
0
0
2022-10-26
Go 语言自带的 pprof 库就可以分析程序的运行情况,并且提供可视化的功能。它包含两个相关的库:runtime/pprof对于只跑一次的程序,例如每天只跑一次的离线预处理程序,调用 pprof 包提供的函数,手动开启性能数据采集。net/http/pprof对于在线服务,对于一个 HTTP Server,访问 pprof 提供的 HTTP 接口,获得性能 ......
372
0
0
2022-10-25
GO-RPC使用go语言实现的简易RPC框架,采用protobuf作为序列化方式,zookeeper为注册中心;手动实现类似于java的动态代理机制简化rpc框架的使用。同时底层部分设计参考了Nettey的一些思路。地址github一. examples定义接口type GetByName func(stu *protoc.Student,i8 int8,i ......
451
0
0
2022-10-23
声明一个常量特点:不可变, 在编译时需要确定使用关键词constpackage main import ( "fmt" ) func main() { const a = 18 fmt.Println(a) } 声明一组常量import ( "fmt" ) func main() ......
369
0
0
2022-10-21
golang连接数据库需要使用到系统标准库 database/sql 和 数据库驱动,database/sql 支持数据库连接池,是并发安全的。下面以mysql 为例,展示下连接,查询,写入,更新,删除,事务等操作。下载数据库连接驱动go get -u github.com/go-sql-driver/mysql数据库操作连接数据库连接数据库使用 sql.O ......
430
0
0
2022-10-20
学习任何语言的写下的第一行代码应该都是hello word吧,Go也不例外。创建代码目录mkdir -p ~/Documents/go/learngo 我们所有的代码将会放在Documents/go/learngo目录下。Create Go ModuleGo模块用于跟踪应用程序的依赖关系及其版本。这将创建一个名为go.mod的文件。生成的内容如下:modu ......
381
0
0
2022-10-20