golang
(156)Go build tag 实现条件编译
今天遇到了需要使用条件编译的场景,于是查了一下 golang 是如何支持条件编译的。
## 条件编译简介
go 文档里称之为,Build Constraints,即,编译限制。
也称为 build tag。
//
通过 go embed.FS 将 gin 模板及静态资源文件打包进二进制程序
使用 gin 写网站会涉及到大量的外部文件:
- HTML 模板文件
- 静态资源文件:js,css,图片等
- 多语言翻译文件
发布时,除了要将编译好的二进制文件上传到服务器,还需要将上面提到的三类文件同步到二进制文件所在
golang template range 循环中引用外部变量
LocalizeUrl 是我自定义的一个函数,接受两个参数,第一个参数是 url,第二个是语言。
但是在 gin template 中使用时报错。
## 报错的模板代码
```
{{ range $index, $produ
sync.Map 实现 gin template 全局共享变量
## 需求背景
在用 gin 开发网站的时候,每个页面都需要相同的页眉和页脚。
里面有些变量是通用的,例如:
- 公司 logo
- 电话
- 公司名称
- 备案号
等等。
但是,每次都在 controller
golang 查看变量的原始定义类型
我想把 [golang gin 多语言网站](/golang-gin-i18n)的语言配置提取出来,作为项目的配置项。
而我不知道 language.Chinese 到底是什么类型,是不是 zh 这样的字符串,于是想打印一下输出。
golang gin 的多语言网站国际化支持 i18n
## 需求
我想在 golang gin 同一套网站模板中同时支持中文和英文,类似 [SpringBoot 中的 Thymeleaf I18N](https://www.sunzhongwei.com/spring-boot-i18n-e
golang gin 项目代码组织结构能否像 python django 一样清晰
## 现有的组织结构
现在使用的 [golang gin 的代码组织结构](/golang-gin-mysql-database-connection-sharing-of-project-code-structure)是延续了之前使用
golang fmt.Sprintf 中 %d 与 %s 混用会怎样
写了一个后台分页的 bug,问题的原因在 fmt.Sprintf 中我将 int 类型传递给了 %s。
## 有问题的代码
```
categoryId := 5
if categoryId > 0 {
url +=
golang 生成文章简介
主要是为了用 golang 生成文章简介,及 html description 标签的内容。
## 逻辑
- 去除 html tag
- 取前 N 个字符 (160 个字母,或 80 个中文字符)
## HTML S
Golang 后台模板分页组件,基于 Tailwind CSS
## 为何不适用基于 Javascript 的分页组件
For SEO. 写 Web 就是为了能被用户搜素到,如果不是为了这个目的,web 版本都没有存在的价值。
而分页导航又是被搜索引擎收录的关键,所以一定要在后台进行渲染,不要