Tag: Go
All the articles with the tag "Go".
gin多模板、模板嵌套使用方法
Published: at 11:36 AM在做一个web应用的时候,通常多个页面会共用同一个模板,只是每个页面的内容不同。如网页的导航栏、菜单栏、footer是共用的。我们写代码的时候也只需要写一个主模板页面frame.html,内容空出来给具体的页面来实现,如:主页index.html,文章页面post.html,错误页面error.html等等,...
golang接口型函数作用
Published: at 03:46 AM在我们使用golang写http服务的时候通常会使用http.Handle来注册pattern对应的Handler,其实这里就使用到了接口型函数,源码定义如下: type Handler interface { ServeHTTP(ResponseWriter, Request) } type HandlerFunc func(ResponseWriter, Request) func (...
腾讯OCR文字识别API调用
Published: at 10:12 AM根据用户上传的图像,返回识别出的字段信息。 腾讯AI开放平台地址:https//ai.qq.com/console/capability/overview package main import ( "bytes" "crypto/md5" "encoding/base64" "encoding/json" "fmt" "github.com/jinzhu/gorm/dialects/mys...
删除数据库中没有使用到的图片
Published: at 06:04 AM有个web/upload目录下有许多图片,但是很多图片是测试时产生的在博客文章中并没有使用,所以写个小程序判断哪些图片没有用到然后删除。 步骤 1. 连接数据库 2. 读取目录下的所有图片 3. 根据图片名字在数据库中查找 4. 如果没有找到文章就删除图片 源码...
golang 控制goroutine调度顺序
Published: at 05:54 AM使用go关键字就可以很容易的启动一个goroutine,启动后他们的执行顺序是不能保证的。如果有多个goroutine,怎样按照我想要的顺序来执行呢? 如: a1在b1和c1后面执行(b1和c1都执行完a1才能执行) d1在a1后面执行(d1执行完才能执行a1) e1在b1或者c1后面执行(b...
golang设置桌面壁纸
Published: at 01:21 PMgolang语言编写,设置windows桌面壁纸,图片来自于必应网站(cn.bing.com) github源码地址:https//github.com/tujiaw/gowallpaper(https//github.com/tujiaw/gowallpaper) 有兴趣的Star一下吧 编译好的程序:https//pan.baidu.com/s/1l5OW9GeuUF0r5TFaBW...
golang调用Windows API
Published: at 08:38 AMgolang还能调用Windows API非常有意思,下面写了一个golang换壁纸的demo。 准备了两张bmp格式的图片,没三秒钟换一下壁纸。 主要是先通过dll获取里面api,要注意api参数的写法,dll用完了要释放句柄,这里我用缓存把api缓存起来不必每次调用都去dll里加载。 代码: pac...
goland2020.1含激活
Published: at 08:33 AM下载地址:https//pan.baidu.com/s/1qh49NXUm0K0VlJo82d723A 提取码:4p8h 激活方式见:Patch/jetbrains-agent/README.txt 如果你下载的jetbrains-agent.jar小于2M,肯定是没有下载完全(可对照sha1sum.txt)。 请保留压缩包内的important.txt和jetbrains-agent...
golang html、template模板继承(嵌套)实例
Published: at 02:12 PMgolang的模板包是html/template,使用的时候通常我们会关注它的模板继承(模板嵌套)怎么写, 毕竟这影响到整体网页渲染接口的写法,以及接口是否优雅和可扩展。 base.tmpl 首先,我们定义一个基础模板layouts/base.tmpl cassandraql {{ define "base" }} <html> <he...
sync.WaitGroup增加timeout
Published: at 07:52 AM要等待多个goroutine完成,我们可以使用sync.WaitGroup,但是它会一直等待,这里简单封装下增加超时机制。 直接上代码: type WaitGroupTimeout struct { wg sync.WaitGroup done chan struct{} timeout time.Duration } func NewWaitGroupTimeout(timeout...