GOLANG

Golang 中使用 sqlx 手撸SQL

2020-07-08

关于在Go中如何使用SQL:

如果你要从了解Go语言开始的话,可以参考:

因为sqlx会包含所有database/sql已有的接口,所以本文中所有关于database/sql的使用建议也同样适用于sqlx。

使用 Golang 来制作 reddit 图片下载爬虫

2020-05-09

使用 golang 来创建一个爬虫获取 <reddit.com> 图片。

比如 r/wallpaper,通过解析官方API http://www.reddit.com/r/wallpaper.json?limit=22&after=xxxxx 返回的 JSON 数据来分析和下载文件。

主要使用库

  • github.com/urfave/cli/v2 用来创建命令行。
  • github.com/gocolly/colly 是golang爬虫框架, 用来获取数据。
  • github.com/buger/jsonparser 来解析 reddit 的json数据。

下面以一步步创建爬虫, 创建命令,数据检索,并发处理下载。

graph TD
    A[命令行入口] --参数--> B(获取数据) 
    B --> B1(数据处理) 
    B1 --> C{limit}
    C --计数器+1--> B 
    C --等待下载完成-->  E(结束)
    B1 --计数器+1--> D(下载)

jet - golang 动态模板引擎

2020-03-03

Jet v3 git docs

import "github.com/CloudyKit/jet/v3"
  • 动态开发,静态加载,灵活的开发模式和快速运行。
  • 语法和默认模板类似,支持通道运算 {{ expression|pipe|pipe }}
  • yield(渲染调用) , block(组件布局) 多种组合功能。
  • 局部变量,内置函数,类似len,isset
  • 字符串处理,省略printf功能,直接 "song" + filed 输出字符串
  • isset 变量检测,支持三元运算
  • 自定义扩展支持 imported,included,extends,文件名 .jet, .html.jet , .jet.html

Golang Cheetsheet

2019-12-19

Baisc 基础

Hello world

hello.go

package main

import "fmt"

func main() {
  message := greetMe("world")
  fmt.Println(message)
}

func greetMe(name string) string {
  return "Hello, " + name + "!"
}