golang

golang利用beego框架orm操作mysql

限于喜欢 提交于 2019-11-28 05:46:42
GO引入orm框架操作mysql 在beego框架中引入orm操作mysql需要进行的步骤: 第一步 :导入orm框架依赖,导入mysql数据库的驱动依赖 import ( "github.com/astaxie/beego/orm" //导入orm框架 _ "github.com/go-sql-driver/mysql" //导入数据库驱动 ) 第二步 :进行模型结构定义 //例如定义user表模型结构 type TestUser struct { Id int `orm:"pk;auto;column(user_id)"` //表示设置为主键并且自增,列名为user_id Name string `orm:"size(100)"column(user_name)` Sex int `orm:"size(2);column(gender)"` CreateDate time.Time `orm:"type(date);column(create_date)"` Age int `orm:size(10);column(age)` } //注意:以上的字段名必须大写,否则无法识别 在进行模型结构定义需要注意的是(模型结构定义也就是表字段定义,beego中的orm框架会自动给你生成模型定义对应的表): 关于表名 :默认是生成以结构名小写并且加上s结尾的表名,也可以自行设置表名

golang日志框架--logrus学习笔记

吃可爱长大的小学妹 提交于 2019-11-28 05:46:10
golang日志框架--logrus学习笔记 golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数,对于更精细的日志级别、日志文件分割以及日志分发等方面并没有提供支持。所以催生了很多第三方的日志库,而logrus就是其中的一款第三方日志库,它的功能强大,性能高效,而且具有高度灵活性,提供了自定义插件的功能。 1.logrus的特性 完全兼容golang标准库日志模块:logrus拥有六种日志级别:debug、info、warn、error、fatal和panic,这是golang标准库日志模块的API的超集。如果项目使用标准库日志模块,完全可以以最低的代价迁移到logrus上。 可扩展的Hook机制:允许使用者通过hook的方式将日志分发到任意地方,如本地文件系统、标准输出、logstash、elasticsearch或者mq等,或者通过hook定义日志内容和格式等。 可选的日志输出格式:logrus内置了两种日志格式, JSONFormatter 和 TextFormatter ,如果这两个格式不满足需求,可以自己动手实现接口 Formatter ,来定义自己的日志格式。 Field机制:logrus鼓励通过Field机制进行精细化的、结构化的日志记录,而不是通过冗长的消息来记录日志。 logrus是一个可插拔的、结构化的日志框架。 2

GoLang基础数据类型---字典

狂风中的少年 提交于 2019-11-28 01:23:42
Map 是 Go 中的内置类型,它将键与值绑定到一起。可以通过键获取相应的值。 如何创建 map? 可以通过将键和值的类型传递给内置函数 make 来创建一个 map。语法为: make(map[KeyType]ValueType) 。( 译者注:map 的类型表示为 map[KeyType]ValueType )例如: personSalary := make(map[string]int) 上面的代码创建了一个名为 personSalary 的 map。其中键的类型为 string,值的类型为 int。 map 的 0 值为 nil。试图给一个 nil map 添加元素给会导致运行时错误。因此 map 必须通过 make 来初始化( 也可以使用速记声明来创建 map ) package main import ( "fmt" ) func main() { var personSalary map[string]int if personSalary == nil { fmt.Println("map is nil. Going to make one.") personSalary = make(map[string]int) } }    上面的 程序 中, personSalary 为 nil,因此使用 make 初始化它。程序的输出为: map is nil.

golang写入csv

断了今生、忘了曾经 提交于 2019-11-28 00:09:39
package main import ( "encoding/csv" "fmt" "os" ) func main() { file, err := os.OpenFile("111.csv", os.O_CREATE|os.O_RDWR, 0644) if err != nil { fmt.Println("open file is failed, err: ", err) } defer file.Close() // 写入UTF-8 BOM,防止中文乱码 file.WriteString("\xEF\xBB\xBF") w := csv.NewWriter(file) w.Write([]string{"开发者名称", "开发者邮箱", "应用名称"}) // 写文件需要flush,不然缓存满了,后面的就写不进去了,只会写一部分 w.Flush() } 来源: https://www.cnblogs.com/nyist-xsk/p/11382103.html

golang杀死进程组

一个人想着一个人 提交于 2019-11-27 20:57:04
当我们想杀死一个进程及其所创建的所有子进程,我们可以使用 linux 命令 kill -- -pid 执行 tail -f ./text.log| grep -a "5t6hwhu1" >../a330fec0-f946-5e47-1be3-5c42ef040c78.tmp ⇒ ps -lf UID PID PPID F CPU PRI NI SZ RSS WCHAN S ADDR TTY TIME CMD STIME 501 407 323 4006 0 31 0 4337800 14192 - Ss 0 ttys000 0:00.03 /Applications/iT 8:45上午 501 411 409 4006 0 31 0 4334036 2472 - S+ 0 ttys000 0:00.85 -zsh 8:45上午 501 1421 1418 4006 0 31 0 4334036 1412 - Ss+ 0 ttys001 0:00.31 zsh -l 9:28上午 501 635 630 4006 0 31 0 4334036 1396 - Ss+ 0 ttys002 0:00.38 zsh -l 8:45上午 501 1517 323 4006 0 31 0 4347016 14192 - Ss 0 ttys003 0:00.04 /Applications/iT

IntelliJ Idea 14 安装 Golang 插件 google-go-lang-idea-

一个人想着一个人 提交于 2019-11-27 20:53:18
IntelliJ Idea 14 安装 Golang 插件 google-go-lang-idea-plugin 的方法 2015-03-08 16:51 zsjangel 阅读 4249 次 0 人喜欢 1 条评论 收藏 IDEA 的编辑器都很强悍,所以现在学Go 也想用他啊,无奈这个插件搞了好久,整理了下流程记录下 1. 当然是下载 IDEA 编辑器 了 http://www.jetbrains.com/idea/download/ 附上旗舰版 注册机 地址 http://download.csdn.net/detail/abacaba/8240327 有购买能力的请尽力购买正版哦,这么好的IDE用盗版真心觉得很罪恶啊,无奈 包包 里的票票太少 2. 下载插件项目 源码 自行编译jar插件包 https://github.com/go-lang-plugin-org/go-lang-idea-plugin 将下载的zip包解压,然后执行 File -> open 操作打开该项目 打开该项目后,进行 SDK 和 模块配置 执行操作 File -> Project Structure 打开项目结构配置窗口 如下图配置,SDKs 中设置 JDK、 IDEA 这两个的路径(图上的 Go sdk 你先别管他,你现在还操作不了的) IDEA 的sdk 其实就是软件安装目录 然后是模块设置

Golang 解决 Iris 被墙的依赖包

一曲冷凌霜 提交于 2019-11-27 19:48:31
使用 Golang 的 Iris web 框架时,用 go get github.com/kataras/iris 命令久久无法下载,最后还报一堆错误。 使用 GOPROXY 可解决问题,也可参考如下地址: https://goproxy.io 我使用的是 Win10系统,所以下面的演示以Windows 系统为例。 我的 GOPATH 目录是在 D:\GOPATH 目录(此目录包含 src、pkg、bin目录,这三个目录要手动创建)。 项目在 GOPROJECT 目录中,如下图 1.打开CMD命令提示框,设置临时环境变量 set GO111MODULE=on set GOPROXY=https://goproxy.io 注意 https://goproxy.io 也可替换成阿里云的 https://mirrors.aliyun.com/goproxy 2.再次执行 go get github.com/kataras/iris 也可以加 -v -u ,如下 go get -v -u github.com/kataras/iris 这时候就把所有的依赖都下载下来了。 值得注意的是,这些包并没有下载到 GOPATH/src 目录下,而是在 GOPATH/pkg/mod 目录中 3.在 GOPROJECT 目录下创建一个 MyTest 目录,我称这个目录是 MyTest 项目 4.在

Golang 常用的第三方包.

穿精又带淫゛_ 提交于 2019-11-27 18:59:41
Goland 下面这个license server 可用 http://idea.youbbs.org (2018-01-10 04:26:09) http://45.77.127.87:81(2018-02-24 13:54:31) https://jetlicense.nss.im (from blog.csdn.net/bug_creator/article/details/79306359 ) go get github.com/go-sql-driver/mysql go get github.com/go-xorm/xorm go get github.com/nfnt/resize go get github.com/tidwall/gjson    https://www.youtube.com/watch?v=rbZeZNVA-Q4 图像分析.脸部识别.OpenCV.gocv 机器学习.开源项目 docker容器. MachineBox . 脸部身份识别,自然语言理解.. machinebox.io => docker.image... 需要注册?... https://hub.docker.com/r/machinebox/facebox/ docker pull machinebox/facebox opencv.gocv... NewMat

Golang资料集

心已入冬 提交于 2019-11-27 18:06:28
《Platform-native GUI library for Go》 介绍:跨平台的golang GUI库,支持Windows(xp以上),Unix,Mac OS X(Mac OS X 10.7以上) 《Gopm 快速入门》 介绍: Gopm (Go 包管理工具) 是一个用于搜索、安装、更新和分享 Go 包的管理工具。 《go build 命令是如何工作的?》 介绍:本文以 Go 的标准库为例,介绍了 Go 编译过程的工作原理。 《Go 语言的国际化支持(资源文件翻译)》 介绍:在之前的 Go语言的国际化支持(基于gettext-go) 中, 讲到了如何翻译源代码中的字符串. 《Go语言资源自动回收技术》 介绍:Go语言作为一个现代化的编程语言以及支持垃圾内存的自动回收特性(GC). 这篇文章主要介的是非内存资源的自动回收技术. 《Go 语言包管理》 介绍:无需 Git 和 Hg 等版本管理工具,就可以下载指定版本的 Go 语言包 《Go 语言中的方法,接口和嵌入类型》 介绍:本文主介绍Go 语言中的方法,接口和嵌入类型。 原文地址 《golang: 详解interface和nil》 介绍:详解golang 的interface和nil. 《Go并发编程之Go语言概述》 介绍:Go并发编程之Go语言概述,主要是一些介绍与语法基础部分 《Go 指南》 介绍:里面讲解了变量,函数

golang程序编译时提示“package runtime: unrecognized import path \"runtime\" (import path does not begin with hostname)”

非 Y 不嫁゛ 提交于 2019-11-27 18:03:57
在编译golang的工程时提示错误的, 提示的错误信息如下: package bytes: unrecognized import path "bytes" (import path does not begin with hostname) package encoding/json: unrecognized import path "encoding/json" (import path does not begin with hostname) package encoding/xml: unrecognized import path "encoding/xml" (import path does not begin with hostname) package fmt: unrecognized import path "fmt" (import path does not begin with hostname) package bufio: unrecognized import path "bufio" (import path does not begin with hostname) package io: unrecognized import path "io" (import path does not begin with hostname)