分类下相关文章
2020-04-01 · 阅读 16405 · 字数 120
由于我的 golang 测试代码写在子目录下,而项目根目录下没有任何测试代码文件。所以在执行测试时,提示 no test files。 go test -v ? sunzhongwei.com/go_tool [no test files] 解决方法一 > go test -v ./... ? sunzhongwei.com/go_tool [no test files] ? sunzhongwei.com/go_tool/controllers [no test files] ? sunzhongwei.com/go_tool/ ...
2020-04-01 · 阅读 6634 · 字数 62
执行 golang 测试代码时,报错: > go test # runtime/cgo exec: "gcc": executable file not found in $PATH 开发环境,Windows 10 WSL - Ubuntu 解决方法 sudo apt update sudo apt-get install build-essential 再次执行 go test 就正常了。 ...
2020-04-27 · 阅读 5346 · 字数 424
头痛的问题 网站内大量的三方网站链接,经常会有失效的情况,需要自动判断是否已失效。例如阿里云大使链接和京东、淘宝链接就经常发生变更或者失效。 三方链接存在于多个网页/代码中,一旦变更,就需要多处更改。如果能统一管理就方便多了,一处修改,多处生效。 三方链接的点击情况统计。目前用的百度统计事件分析,无法满足上述需求。 所以,我决定写一套短链接服务,来解决这个问题。 功能需求 短链接生成 定时任务:自动遍历所有链接,判断是否已失效 关键词检测:设置关键词,用于判断网页内是否包含此关键词,以判断是否失效 转化排行榜:转化效果评估 链接形式 知乎的做法是新的二级域: <a href=&q ...
2020-02-29 · 阅读 8155 · 字数 50
golang gin controller 给模板传入变量 kv c.HTML(http.StatusOK, "index.html", gin.H{ "kv": kv, }) template index.html 引用嵌套模板 footer.html,同时将变量通过点 (.) 传递给 footer.html {{ template "footer.html" . }} template footer.html <span>累计打开次数:{{ .kv.Value }}</span> ...
2020-02-29 · 阅读 10772 · 字数 527
不同业务场景使用不同的方案。 PHP Laravel 优点: 开发效率没得说,确实快。有想法时,可以瞬间实现。我依然觉得,如果是作为个人 side project,作为试错,用 Laravel 开发确实是首选。 PHP 作为最好的语言,各种三方服务都会提供 SDK,或者参考,开发者社区环境很好。 Laravel 的更新频繁,新功能确实贴心。 缺点: CPU 损耗非常高。高到离谱,导致 Laravel 能处理的请求并发数极其有限。虽然网页可以通过静态缓存的方式解决,但是对于接口类的开发非常不合适。甚至所有给客户开发的非网站项目都不适合使用。 当 Laravel 的服务需要部署在客户服务器上 ...
2022-03-16 · 阅读 35777 · 字数 237
今天看到 golang 新版本 1.14 发布了,于是想升级一下,练练手。毕竟之前没有尝试过 golang 版本升级。 如何升级 看了一下 Golang 的官方文档,Golang 升级步骤很简单 删除旧版本 安装新版本 如何删除 Golang 旧版本 首先确认当前的 Golang 版本 $ go version go version go1.13 linux/amd64 开始删除 $ sudo rm -rf /usr/local/go 好了,卸载 golang 就是这么简单。(我本机删除等待了半分钟) 实际上,/usr/local/go 下包含了所有的 golang tools。 $ ...
2020-02-16 · 阅读 12261 · 字数 183
由于我想对 PC 端和移动端展示不同的广告,需要判断网页请求是否来自移动端。 Golang Gin 中并没有找到内置的实现,我决定参考 wordpress PHP 代码中的实现,用 golang 实现一下。 参考:wordpress 判断是否为移动端浏览器的实现 对应的 Golang 实现 func IsMobile(userAgent string) bool { if len(userAgent) == 0 { return false } isMobile := false mobileKeywords := []string{"Mobile", &qu ...
2020-02-16 · 阅读 26720 · 字数 67
Golang Gin Web 框架中有两种获取 HTTP 请求头中的 User Agent 值的方法: 方法一 func Index(c *gin.Context) { ua := c.GetHeader("User-Agent") // do something ... } 方法二 ua2 := c.Request.Header.Get("User-Agent") 结果示例 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko ...
2019-11-04 · 阅读 17074 · 字数 166
今天在用 Golang 实现涨幅计算器的时候,第一次接触 Golang 的 float 类型。 这里记录一些 float 类型的基本转换操作。 string 转换为 float package main import ( "fmt" "strconv" ) func main() { input := "3.14" f_input, _ := strconv.ParseFloat(input, 64) fmt.Printf("%f - %T", f_input, f_input) } 执行结果 &g ...
2019-11-03 · 阅读 14834 · 字数 136
使用 Golang databae/sql 这个库进行 MySQL 查询时,QueryRow 如果查询不到数据,会报错: sql: no rows in result set go/models/kv.go:18 (0x9f49b5) 对应的代码 err := db.QueryRow("SELECT id, `key`, value FROM kv where `key` = ?", key).Scan(&kv.Id, &kv.Key, &kv.Value) if err != nil { panic(err.Error()) // 第18行 ...
2019-11-03 · 阅读 5678 · 字数 182
go 函数定义 func add(x int, y int) int { return x + y } 参数的类型在变量名后面 返回类型也在后面 如果多个参数的类型一致,可以省略前面的类型。 例如,上面的函数可以简写为 func add(x, y int) int { return x + y } 返回多个值的函数 func swap(x, y string) (string, string) { return y, x } 对返回值进行命名 func split(sum int) (x, y int) { x = sum * 4 / 9 y = sum - x retu ...
2019-11-01 · 阅读 8987 · 字数 49
Golang 普通的基础类型变量可以这样传递: {{ .title }} Golang struct 类型: {{ .article.Title }} 注意,struct 的 field 名,通常要首字母大写。 ...
2022-06-02 · 阅读 14158 · 字数 351
在用 golang gin 写一个人民币大写转换的工具,网页中的描述信息是在网站后台以 markdown 形式编辑保存的,在前端展示时需要将 markdown 转换为 html。 在网上找了一圈,就发现一个库用的人比较多,那就是 blackfriday。 Golang blackfriday 的项目地址 https://github.com/russross/blackfriday 列表的渲染有问题 用的过程中发现一个问题,列表渲染时,会将下一行的文字,缀到一行。查了半天没找到原因。 突然在文档里找到一个说明: Hard line breaks. With this extension en ...
2019-10-27 · 阅读 7596 · 字数 143
先来看一个报错的 Golang 代码片段: kv, _ := models.GetValue("2") c.HTML(http.StatusOK, "chinese_money_index.html", gin.H{ 'kv' : kv }) 编译时,第三行报错,报错信息如下: invalid character literal (more than one character) 看了一下 Golang 教程才发现: 双引号代表字符串,而字符串由字符组成。 单引号代表字符,严格来说是一个字符。 所以,Golang 中单引号跟双引号不能混 ...
2022-04-22 · 阅读 11840 · 字数 460
想在 Golang Gin 项目中模仿 Laravel 的代码目录结构。参考了网上的一些做法,感觉使用全局变量共享 MySQL 数据库连接的方式最容易上手。 虽然不利于进行单元测试,但是对于练手来说,确实最容易的体验方案。 Gin 项目代码目录结构 新建 models 目录,用于管理 Golang Gin 项目的数据库相关的操作,同时定义一批 model,即 struct。 > mkdir models > touch models/kv.go > touch models/db.go > tree . ├── controllers │ └── hello.go ...
生活 | 跑步 清单 足球 鲁班 探索 孤独的美食家 驾驶 电视剧 收纳 奶爸 健康 game 电影 周末 joke |
---|---|
Geek | 健身 Laravel Git Vim MySQL Linux UI Windows SVN 纪录片 管理 Shell 游记 工具 手机 BackboneJS 自建博客 Mac DNS Tornado CDN Django Python AngularJS 理财 前端 Nginx 爬虫 Redis Javascript Browser 浏览器 推广 OAuth CSS PHP Social Networks 安全 运维 创业 杂记 VueJS Android Image IDE Java ReactJS 数据分析 SQLite RESTful 读书笔记 家电 ecshop Vagrant wordpress docker SEO GTD magento mongodb nodejs weex 冷知识 ruby iOS 微信小程序 AI CMS 快应用 backpack 广告联盟 OA 短信 UWP Win CSharp Tampermonkey graphviz 钉钉 WPS 数据字典 微信公众号 Fuchsia Adobe XD SQL Server thinkphp 代码规范 商业模式 Flutter 头痛的问题 serverless 视频制作 国际化 golang 服务器 Kotlin 网站建设 5G 笔记本 图片 spark spring 物联网 InfluxDB 图像识别 postgre rust 提示词 |
成长的烦恼 | 闲言碎语 待产 不睡觉 写作 程序员 孙心然语录 原则 大鸿语录 |
地球 | 植物 时间 中文 赚钱 国家地理 烟台 一生伏首拜阳明 emoji 弟子规 英文 国际贸易 |