Go语言中文网 为您找到相关结果 170

Go语言开发(十)、GoLand常用快捷键

Go语言开发(十)、GoLand常用快捷键 一、Goland快捷键设置 GoLand支持各种编辑器的快捷键映射:File->Settings->Keymap 二、GoLand常用快捷键 1、查询快捷键 CTRL+N 查找类 CTRL+SHIFT+N 查找文件 CTRL+SHIFT+ALT+N 查找类中的方法或变量 CTRL+B 快速打开光标处的类或方法 CTRL+ALT+B 找所有的子类 CTRL+SHIFT+B 找变量的类 CTRL+G 定位行 CTRL+F 在当前窗口查找文本 CTRL+SHIFT+F 在指定窗口查找文本 CTRL+R 在 当前窗口替换文本 CTRL+SHIFT+R 在指定窗口替换文本 ALT+SHIFT+C 查找修改的文件 CTRL+E 最近打开的文件 F3 向下查找关...阅读全文

博文 2018-10-07 18:35:14 天山老妖S

Go项目开发----2048小游戏

刚接触go语言不久,前段时间看到一个2048的项目开发教程,于是就试着练了下手。我的环境采用的是Ubuntu Linux环境。 源码下载: https://github.com/shiyanlou/golang2048_game.git http://download.csdn.net/detail/hzy305365977/8067803 项目开发详细教程: http://www.shiyanlou.com/courses/type/1 一. 2048 游戏设计 《2048》由19岁的意大利人Gabriele Cirulli于2014年3月开发。游戏任务是在一个网格上滑动小方块来进行组合,直到形成一个带有有数字2048的方块。《2048》使用方向键让方块上下左右移动。如果两个带有相同数字的...阅读全文

博文 2014-10-22 19:00:01 hzy305365977

golang-redis之hash类型简单操作

1:安装redigo go get github.com/garyburd/redigo/redis 2:import redigo import ( "github.com/garyburd/redigo/redis" ) 3:连接redis c, err := redis.Dial("tcp", "192.168.2.225:6379") if err != nil { fmt.Println("connect to redis err", err.Error()) return } defer c.Close() 4:命令执行 n,err := c.Do("hset","key","field","value") //写 result,err := redis.Values(c.Do(...阅读全文

博文 2018-01-26 17:33:06 mickelfeng

自己封装的golang 操作数据库方法

这个是我用Go写的第一个东东,可能还存在些BUG没有测试到。这里主要是提供一个参考。各位可以改写成自己的风格。 在命令行下输入如下两条命令,进行安装 go get github.com/male110/SimpleDb go install github.com/male110/SimpleDb Go语言的数据库操作,只能用Rows.Scan来一次性读取所有列。感觉很不习惯,我还是习惯按照列名来一列列的取数据。所以我自己封装了一个数据结构MyRows,MyRows实现了一个函数,GetValue(name string, value interface{})可以按列名来取数据。如下所示: err = rows.GetValue("IsBoy", &isBoy) if err != nil {...阅读全文

博文 2014-10-04 19:27:14 王岩0001

IntelliJ Idea 14 使用go-lang-idea-plugin 0.9.16-alpha.9

使用Idea 14 开发Go程序的话,需要安装go-lang-idea-plugin,但是Idea提供的插件版本是0.9.15版本这个版本有各种BUG尤其是对Idea 14. 我试了很多方法之后还是无法正常使用go-lang-idea-plugin 0.9.15插件甚是头痛!不过天无绝人之路经过百度一顿搜索之后还是发现了一线希望。 我的本地环境如下: 1.OS: MAC OS YOSEMITE 10.10.1 2. IntelliJ Idea 14 FOR MAC 3.下载go-lang-idea-plugin 0.9.16-alpha.9 https://github.com/go-lang-plugin-org/go-lang-idea-plugin/releases/ 这里有各种版本的...阅读全文

博文 2015-01-28 11:00:01 korykim

liteIDE 快捷键改装

LiteIDE改装 最近一直都在使用liteIDE做开发。公司的项目很紧张,但是在这个周末。还是偷偷的对liteIDE小不爽的地方进行了一些小的改造。 IDE上的run按钮就是运行当前的go文件。 首先我们项目运行只是运行统一或者少数的入口点每次点开固定的文档才能run真的是够了。另外一个主要的原因在于liteIDE没有project管理支持。 而且这个IDE貌似没有出很长时间一般的RCP平台都是有插件开发的。但是这没有插件开发(貌似是有。而且是用python写的)但是,没找到文档(截至 2015年1月19日)也是醉了。 关键入口点还是我在google Code上找到的一个文档。 在配置中的LiteBuild里面有一个gosrc.xml 这个配置文件能修改buttion调用的命令。好吧就只能...阅读全文

博文 2015-03-07 21:32:39 jianyingLi

GO -- ORM 框架

这几天在做实训项目,刚好学Go语言,就想使用Go来搭建 socket 服务器 !但是感觉Go 使用sql来注入数据库有点缺陷,最后Golang群上的大神建议使用ORM框架,使用一下确实好用,下面是参照这本的一个简单例子,希望能帮到大家 Code package main import ( "database/sql" "github.com/astaxie/beedb" _ "github.com/ziutek/mymysql/godrv" "time" ) ///////////////////////// type Userinfo struct { Uid int `PK` //如果表的主键不是 id,那么需要加上 pk 注释,显式的说这个字段是主键 Userna...阅读全文

博文 2014-10-10 23:00:00 laohan_

个人免签支付系统_免签约支付接口

娱谷科技的佩奇免签支付系统,目前采用收款模式,有代理系统,自己搭建一套系统来运营的话,可放给身边朋友,可以给别人开商户,增加盈利点;也可组建团队开发支付代理,增加盈利点。并且,我们都是统一更新,统一升级,都是免费给你升级,不收取任何费用。 娱谷科技的佩奇免签支付系统,目前采用收款模式,有代理系统,自己搭建一套系统来运营的话,可放给身边朋友,可以给别人开商户,增加盈利点;也可组建团队开发支付代理,增加盈利点。并且,我们都是统一更新,统一升级,都是免费给你升级,不收取任何费用。 免签支付优点:无论你是企业、个人,无论你有没有企业资质、网站有没有ICP备案,只需提供能正常使用的支付宝或微信账号即可接入支持各种支付场景,灵活易用满足丰富交易场景需求,为用户提供完美支付体验;移动支付将终端设备、互联网...阅读全文

博文 2019-03-14 01:34:40 qq3037446029

beego orm

ORM官方文档为:https://github.com/beego/beedoc/blob/master/zh-CN/mvc/model/orm.md beego orm是支持database/sql标准接口的ORM库,所以理论上来说,只要数据库驱动支持database/sql接口就可以无缝的接入beego orm。目前的驱动包括下面几个: Mysql: [github/go-mysql-driver/mysql](https://github.com/go-sql-driver/mysql) PostgreSQL: [github.com/lib/pq](https://github.com/lib/pq) SQLite: [github.com/mattn/go-sqlite3](htt...阅读全文

博文 2018-12-06 17:34:44 b77bb494e846

Go开源项目 - gorp使用方法

gorp 是一个Go开源ORM框架. Go关系型数据库持久化 我很含糊的称gorp是一个ORM框架. Go还没有真正的对象, 至少没有一个经典的感觉和Smalltalk/Java一样的,这是"O". gorp不知道任何你struct之间的关系(以后会实现,现在还在TODO list中). 所以"R"也是有质疑的(但是我使用这个名字,因为感觉上更贴切). "M"是没有问题的. 给定一些Go结构和一个数据库, gorp应该可以减少你的重复代码. 我希望gorp能节省你的时间并简化从数据库获取数据的苦活来帮助你把精力投入到算法上而不是基础设施上面. 数据库驱动 gorp使用Go1 database/sql包. 一个完整可用的兼容驱动程序如下: http://code.google.com/p/go...阅读全文

博文 2014-10-09 16:55:55 ztiandan

Go项目开发----2048小游戏

源码下载: https://github.com/shiyanlou/golang2048_game.git http://download.csdn.net/detail/hzy305365977/8067803 项目开发详细教程: http://www.shiyanlou.com/courses/type/1 一. 2048游戏设计 《2048》由19岁的意大利人Gabriele Cirulli于2014年3月开发。游戏任务是在一个网格上滑动小方块来进行组合,直到形成一个带有有数字2048的方块。《2048》使用方向键让方块上下左右移动。如果两个带有相同数字的方块在移动中碰撞,则它们会合并为一个方块,且所带数字变为两者之和。每次移动时,会有一个值为2或者4的新方块出现。当值为2048的方...阅读全文

博文 2014-10-22 14:00:01 LSoam

给开发者介绍一款可连接AS和Eclipse实现远程调试的工具

**前言**: 移动开发者们在开发一款APP或者手游的时候,都会用到模拟器或者真机来调试应用,可是模拟器的缺点大家都知道,速度慢、卡顿、调试结果跟实际情况有差别。而真机的购机成本又很高。所以想为大家推荐一款新型开发工具,可以用来代替模拟器和传统的[真机调试](http://www.testbird.com/tphone-remote-debug/ ) 方法。 **[Testbird——云手机](https://dt.testbird.com/sign_up/?i18n=zh-cn&cl=eBn2yB&invite=YjX97B/ ) ** 从本质上来讲,云手机也属于真机调试,但是你却不需要花费很多钱去购买,因为它的操作模式可以让你从你的电脑端上远程连接到位于Testbi...阅读全文

go语言之beego框架orm的使用

models.go ============================ package main import ( "github.com/astaxie/beego/orm" ) type User struct { Id int Name string Profile *Profile `orm:"rel(one)"` // OneToOne relation } type Profile struct { Id int Age int16 User *User `orm:"reverse(one)"` // 设置反向关系(可选) } func init() { // 需要在init中注册定义的model orm.RegisterModel(new(User), new(Profi...阅读全文

博文 2015-06-17 23:05:56 zistxym

golang学习-------goland的基本快捷键

快捷键: 移动行 Alt + Shift + up/down 行内(选中)移动(到头尾/删除) Ctrl(Shift) + left/rignt(Home/End/Backspace) 插入新行 Shift + Enter 替换变量、函数名 Shift + F6 配置快捷键: 跳转到函数定义 回退 查找函数使用 File/Settings/Keymap 工具: gofmt/golint File/Settings/Tools/File Watchers golint File/Settings/Tools/External Tools (参考) 文件相关快捷键: CTRL+E,打开最近浏览过的文件。 CTRL+SHIFT+E,打开最近更改的文件。 CTRL+N,可以快速打开struct结构体...阅读全文

博文 2019-05-09 21:31:40 zk3326312

go语言使用protobuf与c++做数据通信。

首先,安装google的protobuf。安装流程请参见我以前的博客 http://blog.csdn.net/eclipser1987/article/details/8525383 安装proto的go语言插件 go get code.google.com/p/goprotobuf/{proto,protoc-gen-go} 编写一个简单的事例,go与c++网络通信: RegMessage.proto package cn.vicky.model.seri; message RegMessage { required int32 id = 1; // 主键,唯一 required string username = 2; // 帐号 required string password = ...阅读全文

博文 2014-10-06 09:42:32 eclipser1987

gorm快速使用

## gorm ORM 就是通过实例对象的语法,完成关系型数据库的操作的技术,是"对象-关系映射"(Object/Relational Mapping) 的缩写. gorm, github.com/jinzhu/gorm 全特性 ORM (几乎包含所有特性). ## 模型定义 模型一般都是普通的 Golang 的结构体,Go 的基本数据类型,或者指针。sql.Scanner 和 driver.Valuer,同时也支持接口。 ### gorm.Model gorm.Model 是一个包含一些基本字段的结构体,包含的字段有 ID,CreatedAt, UpdatedAt, DeletedAt。 你可以用它来嵌入到你的模型中,或者也可以用它来建立自己的模型.GORM 默认使用 ID 作为主键名。 ...阅读全文

博文 2019-12-26 19:03:28 bytemode

golang包sql查询结果树形化反射扫描器

### 主要功能 > 可以搭配gorm的sql结果扫描函数Scan、Find等,将结果直接传入本包提供的树形化函数(ScanToTreeData),快速实现树形化 > 支持无限级树形化(自己嵌套自己)、有限级个性化树形化 > github 仓库地址,欢迎使用,反馈使用意见,顺便点点 star https://github.com/qifengzhang007/sql_res_to_tree ### 核心代码段 ```code // 接受树形结果的结构体要求如下: // 1.主键必须使用 primaryKey:"yes" 标签定义,类型必须是 int int64 in32 等int系列,不能使用 string 等其他类型...阅读全文

开源项目 2021-02-22 00:04:16 张三丰

这套线上API聚合支付系统有哪些功能与优势

第四方支付是相对第三方而言的,作为对第三方支付平台服务的拓展。第三方支付介于银行和商户之间,而第四方支付是介于第三方支付和商户之间,没有支付许可牌照的限制。 第四方支付集中了各种三方支付平台的接口,也就是说集合了各个第三方支付的优势,能够根据商户的需求进行个性化定制,形成支付通道资源互补优势,满足商户需求,提供适合商户的支付解决方案。 总体来讲,第四方支付属于支付服务集成商,具有第三方支付无可比拟的灵活性,便捷性和支付服务互补性。而且第四方支付比第三方支付更具中立性优势,可以一定程度上调和目前第三方支付恶意竞争的状况,保证支付行业健康发展。 现在市面上的支付系统太多了,价钱不一、开发语言多种多样,什么JAVA、.NET、PHP、GOLANG等等。每个公司都打着自己的支付系统才是真正好的系统,...阅读全文

博文 2019-03-11 11:34:42 qq3037446029

热更新配置参数例子(Golang)

在不停止程序的情况下,通过发送USR1或USR2等信号量,触发运行中程序的参数更新处理。当然还可以通过处理如kill等信号量, 让程序正确的处理退出操作。 做了个例子,效果如下。 可以看到通过发出kill -USR1 id号 让对应的程序参数发生了变更。 关于kill的参数值可以通过kill -l列出。 各个终端也提供了很多快捷键来支持特定信息的发送,如最常见的ctrl+c. 但注意,各个终端的快捷键定义可能不一样,而且有些是可以自定义的,这个要注意,在使用前可以用stty -a查出。 附上测试机这两条命令的结果: xcl@xclpc:~$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SI...阅读全文

博文 2015-06-17 20:04:33 xcltapestry

聚合支付公司独立研发的聚合支付服务平台

第四方支付是相对第三方而言的,作为对第三方支付平台服务的拓展。第三方支付介于银行和商户之间,而第四方支付是介于第三方支付和商户之间,没有支付许可牌照的限制。 第四方支付集中了各种三方支付平台的接口,也就是说集合了各个第三方支付的优势,能够根据商户的需求进行个性化定制,形成支付通道资源互补优势,满足商户需求,提供适合商户的支付解决方案。 总体来讲,第四方支付属于支付服务集成商,具有第三方支付无可比拟的灵活性,便捷性和支付服务互补性。而且第四方支付比第三方支付更具中立性优势,可以一定程度上调和目前第三方支付恶意竞争的状况,保证支付行业健康发展。 现在市面上的支付系统太多了,价钱不一、开发语言多种多样,什么JAVA、.NET、PHP、GOLANG等等。每个公司都打着自己的支付系统才是真正好的系统,...阅读全文

博文 2019-03-23 12:34:41 qq3201809208

Golang开发工具LiteIDE使用方法整理

安装 参考github的说明 添加GOPATH 创建workspace 创建新文件 运行程序 Liteide中运行程序有两种方式: FR(FileRun)是编译并运行单个文件,可以使用Shift + Alt + R快捷键; BR(BuildAndRun)是编译运行整个项目,可以使用Command + R快捷键。 编译运行单个文件和编译运行整个项目的区别在于: 编译运行整个项目的时候,只允许一个源文件中有main函数; 编译运行单个项目的时候,允许多个源文件包含main函数,运行的时候并不会出现报错。 使用go get/install安装包 一些快捷键 功能 快捷键 跳转到函数声明 command + shift + j 自动格式化代码(保存文件) command + ...阅读全文

博文 2018-07-22 00:30:02 -beyond

迈向Go 2的下一步

Go 2 又有进展了,近日 Go 团队在博客公布了关于 Go 2 下一步的计划。根据此前的报道,Go 2 并非一个单独的重大更新版本,而是通过“增量(incremental)更新”的方式以逐渐抵达 "Go 2.0",所以期间的版本都能看到 Go 2 的影子。当前状态Go 团队表示正准备推出 Go 1.13,有望在今年 8 月初发布。经历长时间的开发后,这会是首个包括对语言特性进行具体更改的重要版本,而不仅仅是针对规范的小调整。为了实现这些变化,Go 团队从一小系列可行的提案开始,这些提案很大一部分来自 GitHub 中被标记为提案的 issue 列表。此文讲述过关于提案新的评估流程,团队希望所选择的提案对语言的改动较小,而且几乎没有争议,这样是为了保证经历完全程后,最终能实现这些提案。另外,...阅读全文

博文 2019-06-27 20:42:23 开源中国

golang 按任意键继续

package main import ( "fmt" ) import ( termbox "github.com/nsf/termbox-go" ) func init() { if err := termbox.Init(); err != nil { panic(err) } termbox.SetCursor(0, 0) termbox.HideCursor() } func main() { fmt.Println("hello") pause() fmt.Println("world.") } func pause() { fmt.Println("请按任意键继续...") Loop: for { switch ev := termbox.PollEvent(); ev.Typ...阅读全文

博文 2016-08-12 00:00:02 CodyGuo

Golang下的ORM框架gorm的介绍和使用

前言:gorm是Golang语言中一款性能极好的ORM库,对开发人员相对是比较友好的。当然还有另外一个xorm库也是比较出名的,感兴趣的也可以看看这个库,接下来主要介绍下gorm库的一些基本使用。 GORM介绍和快速入门 功能概览 全功能ORM(无限接近)关联(Has One, Has Many, Belongs To, Many To Many, 多态)钩子函数Hook(在创建/保存/更新/删除/查找之前或之后)预加载事务复合主键SQL 生成器数据库自动迁移自定义日志可扩展性, 可基于 GORM 回调编写插件所有功能都被测试覆盖开发者友好 安装 我们都知道,在golang中需要使用一些驱动包来对指定数据库进行操作,比如MySQL需要使用github.com/go-sql-driver/my...阅读全文

博文 2020-03-15 10:34:25 BGBiao

使用go-mysql-elasticsearch将mysql实时同步到es

注意: mysql binlog必须是ROW模式 ,并且binlog_row_image必须为full 要同步的mysql数据表必须包含主键,否则直接忽略 不支持程序运行过程中修改表结构 要赋予用于连接mysql的账户RELOAD权限以及REPLICATION权限, SUPER权限: GRANT REPLICATION SLAVE ON *.* TO 'elastic'@'127.0.0.1'; GRANT RELOAD ON *.* TO 'elastic'@'127.0.0.1'; UPDATE mysql.user SET Super_Priv='Y' WHERE user='elastic' AND host='127.0.0.1'; 1.安装golang 下载地址 https://...阅读全文

博文 2019-06-01 15:34:39 崔允

废旧金属液压打包机多少钱

废旧金属液压打包机多少钱【电同微156-9027-3307】属打包机,箱式剪切机,龙门剪切机都输液液压打包机,只是形式不一致,对打包的材质有所不同,价格也相差很大,不能一个而论,下面就给大家说一下金属液压打包机的区分。 传统的单机情况下,通过内存或者数据的主键就可以维护一个唯一ID,但随着业务增长,免不了增加主机和分库分表,在这种情况下如何表示一个唯一的订单或者用户呢?这就是分布式唯一ID的意义。如果并非此场景,利用数据库自增值或者时间戳随机种子(为避免1ms内碰撞,可以再维护几位顺序位,可以参考后文snowflake算法)即可。当然由于绝大多数分布式唯一ID算法效率很高,想用也是可以的。分布式唯一ID的要求分布式唯一ID的要求可以拆解为三个层面:不重复。本质上不要求随机,单纯递增也可以,因...阅读全文

博文 2020-02-13 09:32:45 艾比3434

用Golang写一个搜索引擎

用Golang写一个搜索引擎 猜你喜欢 golang入门-- 一个2D的图形库学习 golang入门--一个简单的http client golang的第一个deadlock LiteJob,一个Golang的本地任务调度器 再次自我黑客马拉松--不用第三方库实现一个基于golang的web service 如何利用golang 反射值来定义一个变量 用Golang写一个搜索引擎 用Golang写一个搜索引擎(0x01) 用Golang写一个搜索引擎(0x02) 用Golang写一个搜索引擎(0x03) 前面已经说了倒排索引的基本原理了,原理非常简单,也很好理解,关键是如何设计第二个倒排表,倒排表的第二列也很好设计,第一列就是关键了,为了满足快速查找的性能,设计第一列的结构,我们需要满足以下...阅读全文

博文 2016-04-14 17:00:04 daisongwan

Golang 2018.1.2激活及使用技巧

对于做Java开发的同学使用最熟练的开发工具应该当属Eclipse了吧,但是做到后面的话一般都会转用Intellij Idea。至于转用Intellij有什么好处我就不赘述了,简言之就是功能强大,使用便捷,能够大大提升我们的工作效率。 由于目前工作主要用Go语言进行底层开发,所以采用了GoLand开发工具,它跟Idea一样同为JetBrains公司的产品,本篇主要介绍下GoLand.2018.1.2的激活及其常用的使用技巧。 GoLand.2018.1.2激活 1、下载GoLand并安装 https://pan.baidu.com/s/1vPClabBF8K8xvOFHfkrSyQ 2、拷贝JetbrainsCrack.jar至安装目录下的bin 以我的安装目录为例:C:\Program F...阅读全文

博文 2018-08-05 00:30:01 qiangjiyi

scrud - Go struct/SQL CRUD & Go write SQL

scrud - Go struct/SQL CRUD & Go write SQL === 想要的几乎都有,如果没有的话,请[提交请求](https://github.com/cxr29/scrud/pulls) ### 安装 ```go get github.com/cxr29/scrud``` ### CRUD ```Go import "github.com/cxr29/scrud" import _ "github.com/go-sql-driver/mysql" db, err := scrud.Open("mysql", "user:password@/database") // A, B is struct or *struct n, ...阅读全文

Golang泛型函数

目前,golang还不支持模板函数(类型参数化),所以看上去不得不为每一种类型都实现一个函数。但是Golang可以利用空接口interface{}和闭包/高阶函数来实现泛型函数。1 空接口 空接口interface{}是指方法集为空的接口,任何类型的值都可以赋值给空接口。接口相关内容请参见另一篇博客《Golang中的接口》// interface{} func minimum(first interface{}, rest ...interface{}) interface{} { minimum := first for _, x := range rest { switch x := x.(type) { case int: if x < minimum.(int) { minimum ...阅读全文

博文 2017-02-09 17:25:06 说话的白菜

定义 http 接口,以及 struct tag 的一点点经验,想法,求大神教育,菜鸟一同探讨

本人菜鸟,师父让我定义 与前台的 http 接口,我就做了,当然过程中被喷惨了。写写我最后的方法,以及我为什么这么写,欢迎大家探讨。 前提,所有接口 POST,json 方式 1.接口最后定义方式,基本上是大模块上是按照功能划分的,小模块上按照界面上需要的数据定义的。其实对后台来说,最好的方法就是不看界面,提供基本接口,让前台去组合。但是前台说 考虑到流量,手机耗电问题,所以最后无条件的 前台需要什么给什么,不需要的后台帮忙处理掉。这样做的坏处就是,后台代码写的比较乱,因为每个前台需要的界面都要单独一个结构体,命名上也比较难命名(因为后台自己的数据结构跟前台需要的差不多,只是少了个别字段),我现在也不知道好的接口到底应该怎么样定义。求大神狠狠教育一下我。 2.因为是 json,...阅读全文

Goread:用Go编写的Google Reader的开源实现

《Goread:用Go编写的Google Reader的开源实现》作者对GR的现有开源实现并不满意,于是自己实现了一个版本——Goread,它具有如下特性:支持导入OPML、移动端支持良好、不需要安装其他支持、和GR有相同的键盘快捷键、简洁快速……详见: http://www.goread.io...阅读全文

Go:操作注册表

package main import ( "fmt" "log" "golang.org/x/sys/windows/registry" ) func main() { key, exists, err := registry.CreateKey(registry.CURRENT_USER, "SOFTWARE\\Hello Go", registry.ALL_ACCESS) if err != nil { log.Fatal(err) } defer key.Close() if exists { fmt.Println("键已存在") } else { fmt.Println("新建注册表键") } // 写入32位整形值 key.SetDWordValue("DWORD", 0xFF...阅读全文

博文 2016-09-21 01:00:00 aqtata

Gorm的使用心得和一些常用扩展(一)

Gorm是golang的一个orm框架,它提供了对数据库操作的封装,使用起来相当便利。 但在项目开发中,代码写的多了,还是发现在它之上还是有再次封装的空间,比如说添加错误日志、或者是一些使用频率非常高的对单个表的条件查询、分页查询、数据更新等。再则是,关于相同的功能操作,gorm也提供多种实现方式,对新学多少有些困惑,不知道该用哪个好。 于是,我基于自己在项目中的使用经验和编码习惯,做了如下一些扩展,供大家参考。 准备 为了兼容gorm的使用方法,我使用了内嵌类型来扩展。 定义如下: type DBExtension struct { *gorm.DB logger DBLogger } 复制代码这样子定义的wrapper对象是最小侵入式的扩展,不仅可以直接点出gorm的原有方法,也可以点出...阅读全文

博文 2019-07-13 22:04:19 raining1127

北京Python培训机构哪家好?老男孩教育

想要追赶 Python 的热潮,应该如何学习呢?现在许多人在自学之外,都会选择去培训机构学习。选择培训机构的的标准是什么呢?什么样的python培训机构靠谱? **是否有循序渐进的练手项目** 如果课程里面只是对着屏幕把项目代码敲一遍,那其实看了也不能自己真正掌握,重要的是自己在课程作业里动手实践,所以课程中有没有循序渐进的练手项目帮你提升能力,这是很重要的。 **是否涵盖 python web 所需的重点职业技能** 虽然短时间精通多门技能不现实,但至少应该先入门,再在实践中加深印象。如果一点概念都没有,碰到问题也不知道从何下手了。 **是否针对零基础的同学讲解的生动易懂** 不少课程会标注课程所需的知识储备,需要先掌握哪些知识才能看懂这门课,只有少数课...阅读全文

Ubuntu 配置 Go 语言开发环境(Sublime Text 3)

Sublime Text 3安装 gosublime 下载 Sublime Text飞机票:http://www.sublimetext.com/3 安装 gosublime首先,我们需要安装 Sublime Text 的 Package Control 功能,在打开软件后,按下快捷键 Ctrl+`,(`这个符号为英文半角模式下,按下 Tab 键上方、数字键1左边的那个按键),此时会打开一个命令窗口,复制并输入以下内容,最后回车: import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_op...阅读全文

博文 2014-12-30 08:00:01 Kriry

小白入坑同性交友网站github总结

小白入坑同性交友网站github总结 常用词汇及含义 1. watch 表示会持续收到该项目的动态 2. fork 复制某个项目到自己的github仓库 3. star 可以理解为点赞的个数 4. clone 将远程服务器上的源代码下载到本地 5. follow 关注你感兴趣的作者,会收到他们的动态 可以从图中看到我们可以在途中一次找到上面的几个功能的区域,但是没有follow,如果想要关注某个开发者可以直接点击他的头像进去他的主页在头像下方就可以follow某个开发者 in 关键字限制搜索范围 我们可以使用一些搜索的技巧,就像我们使用搜索引擎一样,比如有个叫google hack的东西,很多学习安全的人都回去学google一些高级的搜索语法。在github中也同样有一些高级的搜索的语法。 ...阅读全文

博文 2019-04-13 14:34:42 _AlphaBaby_

终端文本编辑器 Micro-Editor

Micro 是一款简单易用、直观的终端文本编辑器。 主要特性: * 易于使用 * 常用快捷键(ctrl-s, ctrl-c, ctrl-v, ctrl-z...) * 鼠标操作支持友好 * 交叉平台 * 语法高亮显示 ,支持超过 75 种语言 * 支持多种配色方案 * 搜索和替换 * 撤消和重做 * Unicode 支持 * 拷贝和粘贴与系统剪贴板 * 小而简单 * 可定制 效果图: ![Screenshot](http://static.oschina.net/uploads/img/201604/19151846_ANPI.png...阅读全文

用golang写一个简单的游戏

事情是这样子的,前阵子我想重新把算法学习一下,在看到动态规划的时候,莫名想到这些算法题目就跟游戏一样,每个游戏都有规则,要过关,就要在游戏规则下达到特定的目标。所以,我萌生了把算法题做成一个游戏的想法,不管什么算法都行,规则我可以自己定义。 那么,做个游戏,它总要有界面,自然我不会写gui,暂时也没有想用golang的gui库的想法。所以我的第一步是用终端先实现一个,在界面上能够显示出东西。这个要求对于golang来说一点都不高。 再来,是游戏规则的设定,这个游戏,我会分几个版本去完成它,多以第一个版本,我会设定得足够简单,规则如下:界面上会由n×m个点组成,通过键盘上的方向键控制点的移动,从起点到达终点即可完成看任务。如图: 界面.png 我们分析一下,完成这样一件事情,我们需要做的工作有...阅读全文

博文 2020-05-12 01:32:51 onepunchgo

Go: 学习笔记1 让编程更有乐趣

一. 前因 Go语言的创造者,想要一种计算机语言,满足下列条件: 写出的软件能很快的编译支持现代多核硬件在网络环境中工作良好用起来有趣 Go语言用起来象如Python、Ruby这样的脚本语言,性能和安全上象C或Java。 二. 历史 2007.09 开始设计2009.11 公开发布2010.01 年度语言称号2010.05 开始在google使用2011.05 Google App Engine开始支持2012.03 GO1发布 三. 参考 Go语言入门Go语言程序设...阅读全文

Visual Studio Code-GO tasks 设置 (实现在vsc下直接编译输出的功能)

Visual Studio Code -GO 使用过程中发现,如果要编译输出某个文件需要去cmd窗口才行,感觉特别麻烦网上一直没找到解决办法,这几天查看Visual Studio Code文档发现它提供 tasks 功能可以实现 需要了解Visual Studio Code所有功能配置是通过json文件配置的 tasks 工作原理是Visual Studio Code 自动执行你之前配置好的功能。 配置方法 : 第一次使用 打开vsc界面按 快捷键 Ctrl+Shift+B 会弹出 点击配置任务运行程序 点击Others 出现这个就是我们的配置文件,我们只要把我们的go语言的编译命令配上就行了 我的配置文件 tasks.json 更详细配置:http://code.visualstudio....阅读全文

博文 2016-08-06 11:00:01 wangtongxue123456

浅谈滚服游戏如果实现一键合服

[原文链接](http://www.bugclosed.com/post/12) : http://www.bugclosed.com/post/12 ## 背景 近几年的游戏行业中,出现了各种各样的滚服游戏,包括页游,手游,H5游戏等等。滚服游戏和大服游戏的区别在于同时游戏人数,大服游戏是有很多用户在一起玩,甚至几十上百万玩家。而滚服游戏则一般会设计游戏在线上限,比如3000,达到上限则新开一组服务器,并引导用户进入新区。 滚服模式是游戏类型,技术架构和急功近利的坑钱策略等因素共同决定的,大服游戏包括绝大部分端游,以及类COC这样类型的游戏。另外,虽然像英雄联盟,王者荣耀这样的游戏也分服架构,但是这个并不是我理解中的“滚服游戏“,首先他们虽然分服,但是每个服的人数上限也是可以高达几十万,他...阅读全文

博文 2018-05-24 16:15:26 pert

Goland 常用快捷键整理

Goland 常用快捷键整理 本文主要梳理笔者在使用Goland这款工具的时候,用到的一些比较好用的快捷键。 Switcher Ctrl +TAB 可以召唤 switcher 页面,显示最近打开的文件,然后选择TAB进行上下切换。 switcher presentation assistant 针对某一个函数打开 tip 功能 比如下面的这个例子,我们想查看 log 库中的 Errorf 这个函数的定义以及描述信息,可以使用:fn + F1 image.png err.nn 在golang中有很多时候需要处理类似如下的error逻辑: if err != nil { //handler err logic } goland 为我们集成了这段代码的快捷键:err.nn。 或者使用 err.no...阅读全文

博文 2019-07-24 19:32:40 wolf4j

Jetbrains IDE 使用教程

Jetbrains系列IDE算是我认为做的最好的集成开发工具了,用惯了以后感觉其他IDE都有各种各样的问题。但是Jetbrains系列IDE由于是全英文的,导致很多人很难上手。因此这篇文章就来介绍一下Jetbrains系列的常用设置和功能, 让大家可以快速上手。 简介 Jetbrains系列IDE包括一下几个IDE,分别用于不同的语言,它们的设置大同小异,主要差异在于相关语言和开发包的设置。 Intellij IDEA,最著名的Java IDE,不提了,如果你不了解它,就去了解一下,保证不亏。 PyCharm,用于Python的IDE,在代码补全、提示、格式化方面都做得很好,PyCharm相关类库的支持也很不错。 WebStorm,用上前端开发的IDE,这方面Jetbrains的优势倒不是很...阅读全文

博文 2018-10-26 12:34:39 乐百川

Gogland EAP 4发布

上班第一天,就收到Gogland EAP 4在2月1日的升级提示,接口实现的改进非常明显,注意快捷键是“command+I”(而不是官网说的“ctrl+0”)感觉不错: ![gogland 163.12024.20.png](http://studygolang.qiniudn.com/170203/1430b0baadc377efd72a8d768af2b8b5.png) 除了按照提示升级,还可以直接官网下载: + [Mac OS X](http://download.jetbrains.com/go/gogland-163.12024.20.dmg ) + [Windows](http://download.jetbrains.com/go/gogland-163.12024...阅读全文

我们是如何做数据库运维和优化

摘要: 8月24日阿里云数据库技术峰会上,阿里云高级DBA专家玄惭带来面对超大规模的数据库集群,尤其是在每年像双11这样重大促销活动中,阿里云是如何进行运维和优化的。本文主要介绍了天象和CloudDBA两个产品,包括他们的起源、基于系统画像仓库的应用、产品化等,最后对RDS产品的可诊断性建设和可运维性建设作了补充。 8月24日阿里云数据库技术峰会上,阿里云高级DBA专家玄惭带来面对超大规模的数据库集群,尤其是在每年像双11这样重大促销活动中,阿里云是如何进行运维和优化的。本文主要介绍了天象和CloudDBA两个产品,包括他们的起源、基于系统画像仓库的应用、产品化等,最后对RDS产品的可诊断性建设和可运维性建设作了补充。 随着云数据库时代的到来,它的运维体系不仅仅包括保持...阅读全文