随笔 - 151
文章 - 0
评论 - 117
阅读 -
108万
随笔分类 - go
从0-1用go实现后端接口
摘要:下面我们将从零开始实现一个简单的 Go 后端接口。这个接口将使用 mux 库来处理路由,并提供一个基本的 RESTful API。 1. 安装必要的库 首先,确保已经安装了 mux 库。如果没有安装,可以使用以下命令安装: go get -u github.com/gorilla/mux 2. 创建
阅读全文
golang 单测
摘要:1 原则 单元测试文件名必须以 xxx_test.go 命名 方法必须是 TestXxx 开头,建议风格保持一致:驼峰,XXX标识需要测试的函数名 方法参数必须 t *testing.T 测试文件和被测试文件必须在一个包中 优先核心函数热点工具类函数 写明每个单测的注释,单测作用,比如: 测试用例
阅读全文
mysql like使用预编译
摘要:有两种方式: 1、用字符串拼接 value := "阳光"value = "'%"+value+"%'" query = "select uid from info where tags like ? err := mysqlutil.GetInstance().Query(context.Back
阅读全文
go defer详解
摘要:一、defer 的作用和执行时机 go 的 defer 语句是用来延迟执行函数的,而且延迟发生在调用函数 return之后,比如 func a() int { defer b() return 0 } b 的执行是发生在return 0之后,注意defer的语法,关键字defer之后是函数的调用。
阅读全文
go defer、return的执行顺序
摘要:一、一个函数中多个defer的执行顺序 defer 的作用就是把defer关键字之后的函数执行压入一个栈中延迟执行,多个defer的执行顺序是后进先出LIFO,也就是先执行最后一个defer,最后执行第一个defer eg: 输出: 二、defer、return、返回值的执行返回值顺序 在此之前,先
阅读全文
go get或git clone时 报git@github.com: Permission denied (publickey) 解决办法
摘要:一、现象 二、原因分析 Permission denied (publickey) 没有权限的publickey ,出现这错误一般是以下两种原因 客户端与服务端未生成 ssh key 客户端与服务端的ssh key不匹配 三、解决办法 我们新生成一个ssh key就可以了 依次执行如下命令 1、打开
阅读全文
go 将多个文件压缩成一个zip
摘要:背景: 测试的接口是上传一个zip文件,zip文件里是多个文件。 普通的压缩文件的方式,要么zip里还有一层目录,要么不能压缩多个文件到一个zip,经过调研,找到了如下这种方式,可以同时将多个文件压缩成一个zip包。 上代码: package main import ( "archive/zip"
阅读全文
go json文件的写入
摘要:package main import ( "encoding/json" "io/ioutil" "time" "strconv" "fmt" ) //要先定义json格式的结构体 type publishJson struct { BgId string `json:"bgId"` CandBg
阅读全文
go 解决no required module provides package xxx: go.mod file not found in current directory or any parent directory; see 'go help modules'
摘要:背景 我覆盖升级安装了go的较新的版本。 现象 更新后,运行程序就报这个错 no required module provides package xxx: go.mod file not found in current directory or any parent directory; see
阅读全文
go 文件与base64的互转
摘要:base64简介 base64是一种编码方式,通常用于把二进制数据编码为可写的字符形式的数据。 这是一种可逆的编码方式。 它是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Binary资料和字串资料彼此之间是可以互相转换的,十分方便。 在实际应用上,Base64除了能将Binary
阅读全文
go 发送post请求(键值对、上传文件、上传zip)
摘要:一、post请求的Content-Type为键值对 1、PostForm方式 package main import ( "net/http" "net/url" "fmt" "io/ioutil" "bytes" "strings" "mime/multipart" "os" "io" "time
阅读全文
go 实现几个递归经典案例(阶乘、斐波那契数列、二分查找、汉诺塔)
摘要:一、递归概念 先看一个例子: 你坐在电影院看电影,你想知道自己是第几排,但是太黑了,数不清,只能问你的前一排是第几排,你就是你的前一排加1, 但前一排也不知道自己是第几排,只能再问他的前一排,,, 问到第一排的时候,第一排告诉第二排自己是第一排, 第二排知道自己是第二排了, 第二排再告诉第三排,第三
阅读全文
LiteIDE 的下载、安装、配置及项目调试
摘要:一、下载 下载地址:https://sourceforge.net/projects/liteide/files/X28/ 下载的是最新版 x28二进制包 liteidex28.windows-qt4.zip 二、安装 1、下载后,将压缩包解压后得到 liteide 目录,将其拷贝到你的go的安装目
阅读全文
liteide错误: 进程无法启动--解决方法
摘要:一、问题现象: 二、报错原因 因为程序还未编译。所有的程序都是需要先编译,才能运行的。 三、解决方法 先编译,后运行。 使用BuildAndRun按钮 或者ctrl+r 亦或ctrl+F7来编译并运行程序即可。 初入职场热爱分享的打工人一枚,请大家多多指教,么么哒~
阅读全文
go .\main.go:13:2: cannot refer to unexported name fmt.println .\main.go:13:2: undefined: fmt.println 解决方法
摘要:一、报错现象: 二、报错原因: 报错信息翻译过来:不能引用未报告的名称 fmt.println 一听就是语法错误。 又重新敲了一下,自动补全功能暴露了报错原因:自动补全的,首字母都是大写。 查了一下,原来是go语言大小写的问题:Go语言区分大小写,模块中要导出的函数,首字母必须大写。 三、解决 函数
阅读全文
go语言的下载、安装、配置
摘要:一、下载 Go 语言支持以下系统: Linux FreeBSD Mac OS X(也称为 Darwin) Windows 安装包下载地址为:https://golang.org/dl/。 如果打不开可以使用这个地址:https://golang.google.cn/dl/。 各个系统对应的包名: 操
阅读全文