Go

  • Published on
    文章介绍 golang 生成目录的 check list 文件并校验目录的方法。可通过特定命令生成和校验,代码实现了写入和校验功能,包括遍历目录、计算 MD5 值等操作,能判断目录内容完整性。
  • Published on
    文章介绍用 robotgo 库实现自动化过程,包括打开记事本输入当前日期保存并关闭,还可全局监听键盘事件退出程序,以及录入回放功能,可将动作写入本地文件或读取执行。
  • Published on
    中介者模式通过创建中介对象避免对象间直接交互。以铁路系统为例,站长充当调停者,旅客列车和货物列车通过站长交互。代码中展示了旅客列车和货物列车实现列车接口,站长实现中介者接口,通过互斥锁控制站台使用。
  • Published on
    总结:文章介绍 golang 单例模式,属创建型模式,提供创建对象最佳方式,通过 sync.Once 保证线程安全,示例代码展示获取单例及打印地址,多个 goroutine 打印结果相同。
  • Published on
    PC 端微信本地图片为.dat 格式且经简单加密,可通过特定 golang 算法还原成 jpg、gif、png 格式。先读文件判断前两字符,找到对应异或值 v 后对文件字符异或还原,有 github 源码可下载转换程序。
  • Published on
    介绍 gin 多模板及模板嵌套使用方法,多个页面共用主模板 frame.html,不同页面如 index.html、post.html 等在渲染时只需渲染具体页面。通过路由和模板定义及载入实现,清晰展示页面结构和内容组合。
  • Published on
    Golang 中 http.Handle 用到接口型函数,定义了 ServeHTTP 接口及实现它的 HandlerFunc 函数。通过示例展示用户使用灵活,有 struct 对象、匿名函数、普通函数三种方式,清楚体现其好处。
  • Published on
    该 Go 代码实现腾讯 OCR 文字识别 API 调用,通过上传图像获取识别字段信息。定义相关结构体和函数,包括获取请求数据、生成签名等。在 main 函数中发起 POST 请求并处理响应,将识别结果输出。代码可从指定链接获取更多信息。
  • Published on
    文章介绍了删除数据库中未使用图片的程序。先连接数据库,读取 web/upload 目录下图片,根据图片名在数据库查找,未找到则删除。通过 Go 代码实现,遍历目录,根据图片名在数据库中筛选,找到无对应文章的图片并删除。
  • Published on
    文章介绍 golang 控制 goroutine 调度顺序,用 go 启动 goroutine 执行顺序不保证,通过 event 包中的 Event 结构及相关函数可按需求调度。如多个 goroutine 按特定顺序执行及 a、b、c、d 倒序执行的代码示例等。
  • Published on
    本文介绍用 golang 设置桌面壁纸,提供 github 源码地址及编译好的程序地址。程序可通过命令设置不同日期壁纸或随机切换,还展示了 golang 调用 windows API 的相关代码,如加载动态链接库、查找函数等操作。
  • Published on
    文章介绍 golang 可调用 Windows API 及换壁纸 demo。准备两张 bmp 图片,每 3 秒换一次。先通过 dll 获取 api 并缓存,注意参数写法及释放句柄。代码展示了相关函数调用,如显示消息和设置壁纸等,在 main 函数中循环设置壁纸。
  • Published on
    这是关于 goland2020.1 激活的内容,提供下载地址、激活方式等,还介绍了 Post 结构体及相关数据库操作,先获取 jetbrains-agent.jar 并按步骤操作激活,支持两种注册方式,且适用于 Jetbrains 全系列版本,升级后可能需重启 IDE。
  • Published on
    介绍 golang html、template 模板继承实例,定义 base.tmpl 基础模板及子模板 title、content 默认值,index.tmpl 和 post.tmpl 为其扩展,给出渲染接口及测试代码,本地测试时不同地址对应不同输出。
  • Published on
    文章介绍 golang 与 qpid broker 通信,使用 github.com/Azure/go-amqp 库,演示 sender 和 receiver 简单例子,还包括请求应答示例,通过 New 函数创建 handler 处理发送和接收消息,最后展示发送消息并处理应答的代码。
  • Published on
    文章介绍了使用 sync.WaitGroup 增加 timeout 的方法。通过封装 WaitGroup 实现超时机制,给出代码示例,测试时若超时时间大于任务时间则任务正常完成退出,小于则未执行完就退出。
  • Published on
    文章介绍 go channel 缓冲作用,make chan 第二个参数设缓冲区大小,无缓冲时同步,有缓冲可提高数据传输效率。通过代码示例展示无缓冲、缓冲大小为 1 和大于 1 的情况及执行结果,强调要合理设置缓冲大小。
  • Published on
    介绍用脚本启停 go 程序,程序用 go 语言编写并使用 go-daemon 库让进程后台运行,脚本取名为 bootstrap,可实现 build、start、stop、restart 等功能,通过 cat 获取 pid 进行相应操作。
  • Published on
    拓扑排序用于确定依赖关系集中事物的发生顺序。文中以计算机课程学习为例,通过`topoSort`函数对课程前置关系进行排序,输出了学习课程的顺序,展示了拓扑排序在实际中的应用。
  • Published on
    本文介绍用 Go 模拟命令行文件拷贝命令,提及熟悉 flag、bufio 等包及函数,代码实现了文件是否存在判断、创建拷贝文件等功能,通过 main 函数和测试示例展示了普通拷贝和强制拷贝的操作。
  • Published on
    介绍了 Go 语言的反射相关内容。通过示例展示了打印结构体信息、修改结构体字段值等操作,如打印 User 结构体的字段和方法,修改 User 结构体中 Name 字段的值等,还展示了对基本变量的修改,体现了反射的强大功能。
  • Published on
    通过“go mod graph”可输出工程模块依赖图,为更清晰展示用 Graphviz 工具生成图表。步骤为获取依赖关系、转换成 dot 文件、生成图表。文中展示了开发网站的模块依赖及实现源码,可找到本地图表或生成新图表。
  • Published on
    文章介绍通过 Go 语言获取必应壁纸地址,必应首页背景图每天更新且无直接下载处,需分析网页源代码。提供获取地址、下载及记录历史信息的代码,包含相关函数如 GetImageName 等,可实现获取壁纸并下载到本地。
  • Published on
    文章介绍 golang 中使用...Options 作为接口参数,以新建 exchange 为例,说明其优点是参数灵活、意义清晰,缺点是每个可选参数需提供函数,第一眼难明白怎么填,适合参数多的接口。
  • Published on
    本文介绍 go 分批读取 http 应答数据的方法。通常用`ioutil.ReadAll`,但大文件时内存大且慢,需分批读。给出代码`ReadChunk`,注意读到`io.EOF`时继续读,用`chan`可单独开启 goroutine 下载并处理数据。
  • Published on
    介绍 goquery 基本用法,用于处理网络拿到的网页文本数据。通过示例代码截取网页中 table 内容并转换为 markdown 格式,展示其便捷性,代码可从特定地址获取,运行后输出相应 markdown 内容。
  • Published on
    Golang 中 slice 作为函数参数易掉陷阱。例 1 说明传参时 slice 被拷贝,函数内修改会影响原 slice;例 2 因 append 超出 cap 导致底层内存重分配及数据拷贝。正确方法是遵守规则,无返回参数不修改 slice,要修改则通过返回值返回,如需修改又不想改外值应深拷贝后再修改。
  • Published on
    介绍 go showapi.com 接口,用 go 封装其提供的三个接口,获取组装后的 url、http 请求返回字符串及 json。给出示例代码,如获取文本笑话的用法。
  • Published on
    本文介绍 go 中 get 和 post 请求的 json 格式封装。get 用 HttpGetJson 函数,post 较复杂用 HttpPostJson 函数,都通过 marshal 处理数据,用法举例清晰,注意 resp 为根据 json 应答定义的 struct 。
  • Published on
    文章介绍了 go 第三方 github 登录的实现步骤。先在 github 新建 oauth app 获相关信息,通过 html 标签和路由实现点击 github 登录,再处理 github 登录成功后的回调,获取 access token 及用户信息,判断并处理用户,将 token 保存在 session 中,还定义了 github 返回的 json 应答结构体。
  • Published on
    文章介绍了 go 代理相关内容,包括用 dep ensure 安装第三方库失败需设置代理,可使用微软代理或 Shadowsocks-X 软件代理,设置命令行代理需注意相关环境变量及端口等,还介绍了 linux 版本的设置步骤。
  • Published on
    简单封装 go log ,有四个日志等级,可满足基本业务需求。通过 github.com/robfig/cron 每天生成新日志文件,示例代码展示了初始化和使用方法。
  • Published on
    文章介绍 go 解析 json 需先定义结构体,以获取豆瓣电影信息接口为例,定义了相应结构体 Response 并给出完整代码,通过 http.Get 获取接口数据,用 json.NewDecoder 解码后可获取并打印所需字段值,如 res.Subject[0].Rating 等。
  • Published on
    文章介绍了 go 的连接池,包括使用场景、创建及相关操作函数。如 New 函数创建池子,Acquire 获取资源,Release 归还资源,Close 关闭池子。通过 main 函数中模拟数据库连接操作展示了连接池的使用。
  • Published on
    文章介绍 go 语言实现的队列,元素用 interface ,有 Push、Pop、Front、Size 方法。通过代码展示了队列的基本操作,先压入四个元素,再循环取出,无元素时结束,代码简洁实用。
  • Published on
    介绍了 go 的工作池和连接池。工作池类似线程池,通过 chan 和 defer 封装,可不断丢任务让多个线程处理;连接池用于管理数据库连接等,创建销毁代价大,通过特定结构和方法实现获取、关闭和释放连接。示例代码清晰展示其用法。
  • Published on
    文章介绍 golang 常见排序方法,包括整型、字符串和结构体。整型和字符串有简洁排序写法,结构体可通过切片函数按名字或年龄排序及倒序排序,展示了不同类型排序的示例及结果。
  • Published on
    本文包含多个 Go 学习代码片段,如斐波那契数列的闭包、非闭包和递归实现,IP 地址格式输出,简单 HTTP 服务器及路由,go chan defer 组合、超时任务处理和访问 MySQL 等,展示了 Go 语言的多种特性和用法。
  • Published on
    vscode go 插件安装失败,因本地无 golang tools 致其他插件安装也失败。可手动从 github 下载,先查看 GOPATH 目录,再在 go/src 下新建 golang.org 目录并 clone tools,之后安装插件可能成功,有诸多开发便利。