golang
(156)golang sql 插入时报错 Error 1292: Incorrect datetime value: '' for column at row 1
在解析百度统计实时访客 csv 文件时,会遇到上次访问时间为空的情况。
```
pre_access_at := ""
if strings.HasPrefix(record[13], "2") {
pre_access
golang 判断字符串是否以特定字符串为结尾
可以使用 golang 内置的 strings.HasSuffix
参数:
- 第一个参数是原字符串
- 第二个参数是结尾字符串
```
package main
import (
"fmt"
"stri
golang 读取并解析 csv 文件
从百度统计后台导出并下载了实时访客的 CSV 文件。想本地解析一下,并导入到 MySQL 中做备份,因为百度统计只能保留两个周的历史数据,且上限为5000条。
## golang 解析 csv 代码
这里用到了 golang 内置的
GoAdmin 兼容低版本的 MySQL,Unknown character set: 'utf8mb4'
有一个历史悠久的服务,使用的是 MySQL 5.0 版本。我想用 GoAdmin 重写管理后台,但是 MySQL 又不敢停机升级。发布之后,运行报错:
```
panic: Error 1115: Unknown character
数据表非 id 主键时,GoAdmin 报错 Error 1054: Unknown column 'category.id' in 'field list'
使用 GoAdmin 管理新建的分类表 category 的 CRUD 时,报错:
> Error 1054: Unknown column 'category.id' in 'field list'
而 category 的主
GoAdmin 列表页指定字段的搜索过滤
GoAdmin 常用的几种搜索过滤方式:
## 精确查找
适合 ID,订单号等。代码示例:
info.AddField("Id", "id", db.Int).FieldFilterable()
## 部分匹配
golang 换行报错:expected statement, found '.'
在写 golang 代码时,遇到一行代码过长,于是,我习惯性地参照 PHP 的折行写法:
```
info.AddField("Name", "name", db.Varchar)
.FieldFilterable(
减小 golang build 编译后程序包的文件大小
在 Golang Gin 写的后台程序加上 GoAdmin 之后,go build 生成的发布包体积已经达到了 30M 之巨。上传阿里云服务器,以 400K/s 的传输速度得上传1分钟。
> 30075408
网上找到一个解决
golang gin & nginx 获取访客的真实 IP
在 golang gin controller 中使用
c.ClientIP()
获取请求的 IP,但是获取到的是 127.0.0.1.
估计是 Nginx 在转发请求给 golang 时,没有配置好。
##
生产环境 GoAdmin 后台加载慢的问题
从 Chrome Network 里看,GoAdmin 加载了很多大的静态资源文件,例如 all_2.min.js 有 1.2M 之大。
![生产环境 GoAdmin 后台加载慢的问题](https://cdn.sunzhongwei