随笔分类 - golang
摘要:以下是从golang并发编程实战2中摘抄过来的代码片段,主要是实现一个简单的tcp socket通讯(客户端发送一个数字,服务端计算该数字的立方根然后返回),写的不错,用到了go的并发以及看下郝林大神是如何处理socket通讯的。具体代码记录如下,多看多学习多共勉: 执行效果:
阅读全文
摘要:先说下使用接口型函数的好处: 1、不必将某个接口函数附在某个type上面,保证了命名随意 2、 可以直接调用函数或者使用该接口,两两不耽误 直接上代码吧:
阅读全文
摘要:golang中的defer通常用于执行一些资源释放性操作,比如open/close、connect/disconnect、lock/unlock等,对defer理解主要记住以下三点: 1、defer 调用的函数参数的值 defer 被定义时就确定 举个例子,看如下代码: 正确输出如下: 这里的def
阅读全文
摘要:代码地址github:cache 花了一天时间看了下实验楼的cache组件,使用golang编写的,收获还是蛮多的,缓存组件的设计其实挺简单的,主要思路或者设计点如下: 全局struct对象:用来做缓存(基于该struct实现增删改查基本操作) 定时gc功能(其实就是定时删除struct对象中过期的
阅读全文
摘要:在之前的章节中我们改进了我们的日志系统,我们使用direct型交换器代替了只能盲目广播消息的fanout型交换器,这使得我们可以有选择性地接收日志。 尽管使用direct型交换器改进了我们的日志系统,但它仍然有缺陷——它不能基于多个规则或标准进行路由。 在我们的系统中,我呢也许希望订阅的不仅仅是严重
阅读全文
摘要:这两天在学习beego框架,之前学习的时候遗漏了很多东西,比如orm、缓存、应用监控、模板处理等,这里将通过实例记录下如何使用beego自带的orm进行关联查询操作。 首先说明下,beego的orm有自动建表的功能,使用方法呢如下: 不过我们这里不使用自动建表,而是使用pd设计好之后生成对应的sql
阅读全文
摘要:beego中的bee工具可以方便的自动生成api文档,基于数据库字段,自动生成golang版基于beego的crud代码,方法如下: 1、进入到gopath目录的src下执行命令: api_user为api项目的名称,-conn指定链接的数据库地址,自动创建beego项目api的文档结构 2、切入到
阅读全文
摘要:xml golang的xml处理主要应用Unmarshal、Marshal方法实现,解析一个xml到struct如下,首先是xml文件: 下面记录下主要代码: 打印结果: 可以发现Unmarshal解析时的一些规则: 1、解析使用struct的tag配置,通过底层反射实现 2、类型为xml.Name
阅读全文
摘要:rpc(远程过程调用),可以像调用本地程序一样调用远端服务,rpc分为http方式和tcp连接方式,使用http的rpc调用如下: 首先是server端: 然后是client端: 调用结果:
阅读全文
摘要:mgo是mongodb的golang驱动,测试代码:
阅读全文
摘要:regexp是golang标准库自带的正则校验包,使用: 校验某字符串是否符合"xx年xx月"格式,over。。。
阅读全文
摘要:如下函数,将interface变量in转换为int: 查看in具体type:
阅读全文
摘要:golang格式化时间时,比如如下格式进行格式化输出: 程序直接输出: 很奇葩,但是若改成: 程序正确输出: 据说是go诞生日期,只认这个,更详细的时间是:
阅读全文
摘要:结构体定义的一般方式如下: type T struct {a, b int} 也是合法的语法,它更适用于简单的结构体。 变量 t 是一个指向 T的指针,此时结构体字段的值是它们所属类型的零值,使用 new 函数给一个新的结构体变量分配内存,它返回指向已分配内存的指针。 无论变量是一个结构体类型还是一
阅读全文
摘要:匿名函数不能够独立存在,但可以被赋值于某个变量,即保存函数的地址到变量中:fplus := func(x, y int) int { return x + y },然后通过变量名对函数进行调用:fplus(3,4)。 当然,也可以直接对匿名函数进行调用:func(x, y int) int { re
阅读全文
摘要:go doc 工具会从 Go 程序和包文件中提取顶级声明的首行注释以及每个对象的相关注释,并生成相关文档。 一般用法: go doc package 获取包的文档注释,例如:go doc fmt 会显示使用 godoc 生成的 fmt 包的文档注释。 go doc package/subpackag
阅读全文
摘要:demo目录: upload文件夹主要放置上传的头像文件,main是主文件,所有效果如下: 主页面: 具体代码: 删除: 新增/修改会员: app.conf配置文件: base.go主要放置一些公共操作: userController: models下的init主要用来进行数据库初始化: user
阅读全文
摘要:记录下使用beego的增删改查实现,数据库使用mysql,完整代码如下:
阅读全文
摘要:首先是上传页面upload.html: 文件上传代码:
阅读全文

浙公网安备 33010602011771号