MySQL的数据类型

MySQL的数据类型MySQL 中有很多字段类型,比如整数、文本、浮点数,定点数等等。如果类型定义合理,就能节省存储空间,提升数据查询和处理的速度,相反,如果数据类型定义不合理,就有可能会导致数据超出取值范围,引发系统报错,甚至可能会出现计算错误的情...

数据库

使用 ProtoBuf 将 message 文件生成 Go 文件

因工作需求,需要安装 protobuf 工具,并且根据 proto 文件生成 go 文件,下面对安装以及生成 go 文件的过程做记录 安装 ProtoBuf访问 ProtoBuf 的 Github 仓库,使用git将该仓库克隆下来 1git clon...

程序开发

项目管理工具——Makefile

概要Makefile 可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。其中包含了那些文件需要编译,那些文件不需要编译,那些文件需要先编译,那些文件需要后编译,那些文件需要重建等等。编译整个工程需要涉及到的,在 Makefil...

运维

Go 中的反射

Golang 的反射反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。 支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、类型信...

程序开发

Go 语言的切片

go 中的切片切片又称动态数组,依托数组实现,可以方便的进行扩容、传递等,实际使用中比数组更灵活。 切片与数组很类似,它们的共同点是都属于集合类的类型,并且,它们的值也都可以用来存储某一种类型的值(或者说元素)。不过,它们最重要的不同是:数组类型的值...

程序开发

Go的命令行库——Cobra

简介cobra是一个命令行程序库,可以用来编写命令行程序。同时,它也提供了一个脚手架, 用于生成基于 cobra 的应用程序框架。非常多知名的开源项目使用了 cobra 库构建命令行,如Kubernetes、Hugo、etcd等等等等。 本文介绍 c...

程序开发

go中的切片排序

Go语言的 sort.Sort 函数不会对具体的序列和它的元素做任何假设。相反,它使用了一个接口类型 sort.Interface 来指定通用的排序算法和可能被排序到的序列类型之间的约定。这个接口的实现由序列的具体表示和它希望排序的元素决定,序列的表...

程序开发

Go项目工程化规范

最近在codeing代码到了测试阶段,让运维和测试去部署程序的时候发现仅仅通过口口相传是不行的,就算给他讲清楚到了现场之后还是会通过电话来轰炸你;有一些开发人员是写了文档,但是文档层次结构、目录不统一,导致文档不能传达该传达的意思。 最近在浏览论坛的...

程序开发

使用 Go 读取配置文件

使用 go 读取配置文件使用 Golang 读取配置文件内容,需要使用 io 包读取配置文件,第三方包 gopkg.in/yaml.v2 解析 yaml 配置文件内容,然后将读取到的配置文件映射给相对应的结构体,结构体的字段设置需要和配置文件保持一致...

程序开发

JWT在Go中的实现与应用

JWT 在 Go 中的实现安装 jwt-go安装 jwt 在 go 中实现的开源库 jwt-go 1go get -u github.com/dgrijalva/jwt-go@latest 准备使用 jwt-go 库生成 token,我们需要定义需...

程序开发

Go 连接 Mongo 数据库实现数据操作

在 Go 程序连接到 MongoDB 数据库可以分为以下步骤: 安装 MongoDB Go 驱动程序 使用 Go 驱动程序连接到 MongoDB 在 Go 中使用 BSON 对象 将 CRUD 操作发送到 MongoDB 安装 MongoDB G...

程序开发

Go 语言在Linux系统的安装以及在VsCode上的配置

Golang下载前往官网下载界面下载相对应操作系统的文件,这里只演示linux版本的。下载之后执行以下命令,将该压缩包的内容解压到 /usr/local 目录中 12cd ~/下载tar -C /usr/local -xzf ${下载的go...

程序开发