Golang
golang
懒人程序猿
这个作者很懒,什么都没留下…
展开
-
百度OCR文字识别go语言示例
使用go实现百度OCR文字识别接口百度OCR文字识别提供了每天50000次免费接口的调用,但是没有提供go语言示例。下面是使用go写的一个示例package baiduimport ( "compress/gzip" "encoding/base64" "encoding/json" "fmt" "io" "io/ioutil" "log" "net/http" "net/url" "os" "strings")const ( // 客户端凭证类型,固定为client_原创 2021-04-08 22:47:01 · 1861 阅读 · 3 评论 -
Golang终端彩色输出
终端彩色输出func main() { fmt.Printf("\x1b[%dmhello world 30: 黑 \x1b[0m\n", 30) fmt.Printf("\x1b[%dmhello world 31: 红 \x1b[0m\n", 31) fmt.Printf("\x1b[%dmhello world 32: 绿 \x1b[0m\n", 32) fmt.Printf("\x1b[%dmhello world 33: 黄 \x1b[0m\n", 33) fmt.Printf("\x原创 2020-07-16 16:20:06 · 2977 阅读 · 0 评论 -
go build 不同系统下的可执行文件
Mac下编译Linux, Windows平台的64位可执行程序CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.goCGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.goLinux下编译Mac, Windows平台的64位可执行程序CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.goCGO_ENABLED=0 GOOS=wind原创 2020-05-30 01:21:32 · 1943 阅读 · 0 评论 -
Golang使用Elasticsearch
创建es.go文件根据elasticsearch版本拉取对应的go包:github.com/elastic/go-elasticsearchAPI文档:https://pkg.go.dev/github.com/elastic/go-elasticsearch/v6@v6.8.5/esapi?tab=docpackage esimport ( "bytes" "context" "encoding/json" "fmt" "github.com/elastic/go-elasticsea原创 2020-05-26 02:29:46 · 2093 阅读 · 1 评论 -
Golang使用RabbitMQ
安装RabbitMQRabbitMQ中文相关文档:http://rabbitmq.mr-ping.com/docker安装参考:https://blog.csdn.net/qq_18361349/article/details/106175125# 拉取rabbitmq镜像,management是rabbitmq的web管理界面。不使用标签拉取是不带管理界面的docker pull rabbitmq:management# 启动rabbitmq容器,15672是web管理界面端口5672是rab原创 2020-05-21 14:19:00 · 763 阅读 · 0 评论 -
Golang通过http.Request.Method获取http请求的method类型
go获取http请求的method类型http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte(r.Method + "\n"))})http.ListenAndServe("127.0.0.1:9090", nil)GET、POST、PUT、DELETE…...原创 2020-04-29 16:01:47 · 2052 阅读 · 0 评论 -
Golang二维码qrcode
导入qrcodego get github.com/skip2/go-qrcodeimport ( "github.com/skip2/go-qrcode" "log" "net/http")生成二维码文件_ = qrcode.WriteFile("https://www.baidu.com/", qrcode.Low, 500, "qrcode-Low.png")_ = qr...原创 2020-05-27 08:31:25 · 425 阅读 · 0 评论 -
Golang二维码qrcode
导入qrcodego get github.com/skip2/go-qrcodeimport ( "github.com/skip2/go-qrcode" "log" "net/http")生成二维码文件_ = qrcode.WriteFile("https://www.baidu.com/", qrcode.Low, 500, "qrcode-Low.png")_ = qr...原创 2020-04-26 21:40:21 · 1541 阅读 · 0 评论 -
Golang html/template模板渲染解析
创建模板文件1、创建layouts文件夹2、在layouts文件夹中创建以下三个模板文件header.htmlsidebar.htmlfooter.html3、创建template_admin.html模板文件4、使用{{define "template_name"}}定义模板5、使用{{template "template_name" .}}引入模板文件,注意标签后面的点"."一...原创 2020-04-26 09:15:37 · 2347 阅读 · 6 评论 -
Golang递归遍历目录
递归遍历目录下文件及文件夹func WalkDir(filePath string) { files, err := ioutil.ReadDir(filePath) if err != nil { fmt.Println(err.Error()) } else { for _, v := range files { if v.IsDir() { WalkDir(v....原创 2020-04-17 15:16:17 · 1138 阅读 · 0 评论 -
Golang使用flag、os.Args获取命令行参数
使用os.Args获取命令行参数// argsfor key, val := range os.Args { log.Println(key, ":", val)}*/终端命令:go run main.go 20 马超 true 20使用flag获取命令行参数// flag 定义参数指针变量var id = flag.Int64("id", 0, "int64")var n...原创 2020-04-17 14:56:58 · 1805 阅读 · 0 评论 -
Beego使用原生SQL
创建RawDemo/*------------------------------------------------------使用 Raw SQL 查询,无需使用 ORM 表定义多数据库,都可直接使用占位符号 ?,自动转换查询时的参数,支持使用 Model Struct 和 Slice, Array------------------------------------------...原创 2020-04-12 14:32:16 · 424 阅读 · 0 评论 -
Beego Model中使用CURD操作
在入口main.go文件中添加init方法func init() { // 获取配置文件数据库配置信息 driverName := beego.AppConfig.String("drivername") mysqlUser := beego.AppConfig.String("mysqluser") mysqlPass := beego.AppConfig.String("mys...原创 2020-04-12 14:30:49 · 250 阅读 · 0 评论 -
Beego使用AdminLTE
在GOPATH的src目录中创建一个Beego项目bee new projectName下载AdminLTE,并将文件复制至项目/static/目录中下载地址:https://adminlte.io/将AdminLTE文件夹下的文件复制到项目中的static文件夹中在模板目录创建layouts文件夹,默认在/views/目录下在layouts目录中创建下面四个文件admin_te...原创 2020-04-12 14:28:02 · 3321 阅读 · 0 评论 -
Golang解析xml
golang解析xml到structfunc Xml() { xmlDoc := `<?xml version="1.0" encoding="UTF-8"?> <note> <to>Tove</to> <from>Jani</from> <heading>Remin...原创 2020-04-12 14:22:09 · 467 阅读 · 0 评论 -
Golang读取文件
golang读取文件操作func ReadFiles() { // ReadFile file, err := ioutil.ReadFile("./demo/mongo.go") if err != nil { fmt.Println(err.Error()) } else { fmt.Println(string(file)) } // open read f, err...原创 2020-04-12 14:21:14 · 535 阅读 · 0 评论 -
Golang发送GET、POST、PUT、DELETE请求
golang发送GET、POST、PUT、DELETE请求package requestimport ( "compress/gzip" "fmt" "io" "io/ioutil" "net/http" "net/url")type Param map[string]interface{}type request struct { Url string Par...原创 2020-04-12 14:20:16 · 3484 阅读 · 8 评论 -
Golang使用SMTP发送邮件
使用SMTP发送邮件import ( "fmt" "net/smtp" "strings")const ( // 邮件服务器地址 SMTP_MAIL_HOST = "smtp.126.com" // 端口 SMTP_MAIL_PORT = "25" // 发送邮件用户账号 SMTP_MAIL_USER = "username@126.com" // 授权密码 SMTP...原创 2020-04-12 14:18:44 · 2987 阅读 · 0 评论 -
Golang使用gomail发送邮件
使用gomail发送邮件下载gomail包:go get gopkg.in/gomail.v2import ( "gopkg.in/gomail.v2")const ( // 邮件服务器地址 MAIL_HOST = "smtp.126.com" // 端口 MAIL_PORT = 465 // 发送邮件用户账号 MAIL_USER = "username@126.com"...原创 2020-04-12 14:17:41 · 1938 阅读 · 0 评论 -
Golang使用MongoDB
go使用mongo文档链接:https://godoc.org/labix.org/v2/mgomongo包下载:go get github.com/go-mgo/mgoimport ( "fmt" "gopkg.in/mgo.v2" _ "gopkg.in/mgo.v2/bson" "os")var Session *mgo.Sessionvar Databases *mg...原创 2020-04-12 14:15:30 · 675 阅读 · 0 评论 -
Golang使用Redis
go使用Redis文档链接:https://godoc.org/github.com/go-redis/redisimport ( "fmt" "github.com/go-redis/redis")var ClientRedis *redis.Clientconst ( REDIS_NETWORK = "tcp" REDIS_HOST = "" REDIS_PORT ...原创 2020-04-12 14:13:56 · 322 阅读 · 0 评论 -
Golang使用memcache
go使用memcache使用文档:https://godoc.org/github.com/bradfitz/gomemcache/memcache#Clientimport ( "fmt" "github.com/bradfitz/gomemcache/memcache")var Client *memcache.Clientconst ( MEMCACHE_HOST = "...原创 2020-04-12 14:12:34 · 985 阅读 · 0 评论 -
Golang生成及解析JSON
生成及解析jsonfunc Jsons() { var err error // json to struct type List struct { Id int `json:"id"` Name string `json:"name"` Mobile string `json:"mobile"` IsDelete bool `json:"is_delete"` } t...原创 2020-04-12 14:10:28 · 471 阅读 · 0 评论 -
Golang判断数据类型和获取数据类型
#使用.(type)及reflect.TypeOf()func main() { demo.TypeOf(1) demo.TypeOf("golang") demo.TypeOf(true) demo.TypeOf(1.2)}func TypeOf(param interface{}) { // 打印数据类型 fmt.Println(param, reflect.TypeOf(...原创 2020-04-12 14:06:23 · 794 阅读 · 0 评论 -
Golang的func参数及返回值
参数及返回值参数一指定数据类型为int参数二 (…interface{}) 可传任何多个不同类型的参数返回值:单个返回值直接指定数据类型可以不使用 (),多个返回值需使用()。各返回值之间使用逗号分隔func main() { demo.Params(10, 20, "golang", true)}func Params(id int, params ...interface{})...原创 2020-04-12 14:05:37 · 4313 阅读 · 0 评论 -
Golang cookie使用
cookie设置和获取使用方法func HttpCookies() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { cName := http.Cookie{ Name: "name", // cookie的名称 Value: "golang", // coo...原创 2020-04-12 14:03:54 · 2303 阅读 · 0 评论 -
Golang文件及文件夹操作
文件夹及文件相关使用方法// 判断文件、文件夹是否存在func PathExists(path string) (bool, error) { _, err := os.Stat(path) if err == nil { return true, nil } if os.IsNotExist(err) { return false, nil } return false,...原创 2020-04-12 14:01:26 · 854 阅读 · 0 评论 -
Golang http Get和Post请求
GET请求func HttpGet(sourceUrl string) { response, err := http.Get(sourceUrl) if err != nil { fmt.Println(err) return } if response.Body != nil { defer response.Body.Close() } body, err := i...原创 2020-04-12 13:58:26 · 949 阅读 · 0 评论 -
Golang时间日期
使用time获取时间func Times() { // 当前系统时间 2020-03-25 16:49:52.263362 +0800 CST m=+0.000856804 fmt.Println(time.Now()) // 档期时间戳 1585126192 fmt.Println(time.Now().Unix()) // 同time.Now() 2020-03-25 16:49:...原创 2020-04-12 13:55:52 · 758 阅读 · 0 评论 -
Golang使用MySQL
数据库创建demo表CREATE TABLE `demo` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '名称', `age` tinyint(3...原创 2020-04-12 13:53:47 · 723 阅读 · 0 评论 -
Golang log日志
golang控制台输出log和两种将log输出到文件的方法func Logs() { /* O_RDWR 读写模式打开文件 O_APPEND 写操作时将数据附加到文件尾部 O_CREATE 如果不存在将创建一个新文件 */ logFile, err := os.OpenFile("./golang.log", os.O_RDWR | os.O_CREATE | os.O_...原创 2020-04-12 13:49:44 · 1098 阅读 · 0 评论 -
Golang使用CSV读取、导出文件
#导出csv文件func WriteCsv() { //创建文件 f, err := os.Create("test.csv") if err != nil { panic(err) } defer f.Close() // 写入UTF-8 BOM f.WriteString("\xEF\xBB\xBF") //创建一个新的写入文件流 w := csv.NewWriter(...原创 2020-04-12 13:46:24 · 1666 阅读 · 0 评论 -
Golang开启http服务
#开启http服务func HttpService() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { // r.FormValue() 获取参数 name := r.FormValue("name") id := r.FormValue("id") status := r.FormV...原创 2020-04-12 13:42:03 · 545 阅读 · 0 评论