网站首页 成长录 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。
51. Socket服务端和客户端使用TCP协议通讯
Socket服务器是网络服务中常用的服务器。使用go语言实现这个业务场景是很容易的。这样的网络通讯,需要一个服务端和至少一个客户端。我们计划构建一个这样的通讯过程。服务端启动后等待客户端的访问。客户端发送一段信息给服务端。服务端接收信息后,再回馈给客户端一段信息。首先要建立服务端。服务端最先要做的事情就是“建立Sock...
阅读全文
50. RESTful API的简单实现
RESTfullAPI是现在很流行的API设计风格。众所周知的HTTP1.1规范正是基于REST架构风格的指导原理来设计的。需要注意的是,REST是一种风格而不是标准。如果一个架构符合REST原则,我们就称它为RESTful架构。先来实现一个最简单的,启动一个RESTful服务。代码示例__packagemainimp...
阅读全文
49. 访问PostgreSQL数据库增删改查
PostgreSQL是常见的免费的大型关系型数据库,具有丰富的数据类型,也是软件项目常用的数据库之一。因其可靠的稳定性,通常我们可以拿它来做Oracle的替代品。使用Go语言访问PostgreSQL数据库,与其他数据库是略有不同的。为了能够对数据库进行访问,我们先建立一个数据库cofoxdb,并且建立一个数据表user...
阅读全文
48. 访问MySql数据库增删改查和连接池及空字段处理
和上一节相比,go语言访问MySql数据库可以有更好的写法,今天来讲一下连接池。同时,也演示一下当表字段内容为NULL时,go语言的处理。首先我们建立一个新的数据库cofoxdb和数据表user新增管理员切换tab设置用户权限新建数据库cofoxdb双击数据库成为当前库,点击图标后写入SQL建表脚本建表SQL脚本__d...
阅读全文
Go 读取命令参数的几种方式
微信截图_20171129195400.png一名初学者,想要尽快熟悉Go语言特性,所以以操作式的学习方法为主,比如编写一个简单的数学计算器,读取命令行参数,进行数学运算。本文讲述使用三种方式讲述Go语言如何接受命令行参数,并完成一个简单的数学计算,为演示方便,最后的命令行结果大概是这样的:__input./calca...
阅读全文
Gost -- 一个极简且有用的GOPATH管理工具
Gost***项目地址:`gost`是一个用于Go语言的简单工具。它可以以一种简洁轻便的方式来帮助你管理GOPATH并运行Go命令。如果你同时开发多个Go项目,并且因为某些原因这些项目基于相互隔离的不同工作空间(例如这些项目基于某些相同依赖的不同版本),这导致你在运行Go命令的时候需要在不同的GOPATH间来回切换,那...
阅读全文
golang profile用法
概要profile就是定时采样,收集cpu,内存等信息,进而给出性能优化指导,golang官方提供了golang自己的性能分析工具的用法,也给出了指导,[官方的介绍](https://link.jianshu.com?t=https://blog.golang.org/profiling-go-programs)环境g...
阅读全文
四叉树上如何求希尔伯特曲线的邻居 ?
关于邻居的定义,相邻即为邻居,那么邻居分为2种,边相邻和点相邻。边相邻的有4个方向,上下左右。点相邻的也有4个方向,即4个顶点相邻的。如上图,绿色的区域是一颗四叉树表示的范围,四叉树上面有一个点,图中黄色区域标明的点。现在想求四叉树上黄色的点的希尔伯特曲线邻居。图中黑色的线就是一颗穿过四叉树的希尔伯特曲线。希尔伯特曲线...
阅读全文
IntelliJ idea配置Go开发环境
IntelliJidea一个月,甚得我心,终弃Sublime、liteIDE。IntelliJidea是非常强大的一款IDE,支持丰富的插件。安装配置都是非常简单的,这里不多赘述,主要需要安装两个插件Go和FileWatcher,可以安装Markdown的插件,便于读写Markdown文件。1\.安装插件*点击左上角"...
阅读全文
60. 文件和目录
在服务端操作中,经常需要对目录和文件进行操作。最常见的比如日志文件的处理。我们需要按照日志类别分目录存放目录。我们需要按照日期每天建立一个新的日志文件。对于时间太过久远的日志和目录,也有需要删除的需求。在GO语言中这些事情做起来都是轻松写意的。文件操作的大部分函数都是在os包中的。因此,我们的import是这样的__i...
阅读全文
61. HTTP处理类型自定义ServeHTTP方法
在go语言中,我们可以给类型增加自定义的方法。下面实验增加ServeHTTP方法。首先建立两个类型__typeStringstringtypeStructstruct{GreetingstringPunctstringWhostring}给类型增加ServeHTTP方法__func(sString)ServeHTTP(...
阅读全文
59. 获取本机IP地址
当主机的IP地址是动态IP的时候,而本机上运行的服务需要被其他设备访问。就产生一个需求“本机主动告知本机IP地址”。这需要一个业务逻辑。本机运行程序,取得本机IP地址,通过公网(或某固定可访问的地址)通报上去本机IP地址。__addrs,err:=net.InterfaceAddrs()iferr!=nil{panic...
阅读全文
58. 用模板实现网页展示的CSS和JS等静态文件
在网页制作中,需要对网页进行美化。除了美工制作图片之外,我们还需要用到css和js等。而这些文件需要使用静态文件的方式才能加载到页面中。继续在上一篇中的例子,补充这些内容。首先我们需要一个专门存放css和js文件的文件夹。这里我们只实现css文件。js文件的方式雷同,你可以自己试验。新建一个文件夹在根目录上。css静态...
阅读全文
57. 用模板实现网页展示(template包)
用go实现网站开发,必须学习模板的使用。这样在网站开发完毕后,如果没有数据调用或业务逻辑的变化,只是变动界面布局显示就很轻松了。首先我们再来实现一下简单的web动态站点__/***MyWebserver03*@Author:JianJunbo*@Email:junbojian@qq.com*@Create:2017/9...
阅读全文
golang字符串的一般操作
生成MD5字符串__import("crypto/md5""fmt""io")funcmain(){str:="123456"fmt.Print(Md5one(str))fmt.Print("------------")fmt.Print(Md5two(str))}//方法一funcMd5one(strstring)(...
阅读全文