go语言实现短链接生成算法

2017-08-16
阅读 1 分钟
8.7k
在一些应用的分享文案中,经常需要包含一个打开实际页面的链接,而这个链接可能会非常的长(因为可能会有很多很多参数。。)这样的分享文案不仅不够美观,而且在一些平台会受到限制,比如weibo的140字。这时候我们就需要采用一个短链接服务了。

一个go语言实现的简洁TCP通信框架

2017-08-07
阅读 3 分钟
7.5k
stpro 一个基于tcp协议实现的简洁通信框架 a skeleton for communication based on TCP github:[链接] 厚脸皮求star 特性 引入go包即可使用 实现了crc校验,保证数据传输的完整性与正确性 调用方式简单明了 快速开始 1. 引入 {代码...} 2. server 端 {代码...} 3.client端 {代码...}

如何在go中使用protobuf

2017-08-03
阅读 3 分钟
13.5k
protobuf是Google开发出来的一个语言无关、平台无关的数据序列化工具,在rpc或tcp通信等很多场景都可以使用。通俗来讲,如果客户端和服务端使用的是不同的语言,那么在服务端定义一个数据结构,通过protobuf转化为字节流,再传送到客户端解码,就可以得到对应的数据结构。这就是protobuf神奇的地方。并且,它的通信效率...

区分“并发”与“并行”的概念

2017-07-29
阅读 1 分钟
4.2k
并发是指两种或两种以上的行为在系统中同时存在,至于这两个行为是否在某一时刻同时“执行”,在并发的概念中并不考虑。在go语言中,go语句可以开启一个新的goroutine,这就典型的并发。不同的goroutines在程序运行期间可能同时存在着, 至于这些goroutines在某一个时刻是不是同时运行, 我们不去关心。事实上, 在单核CPU...

interface

2017-07-28
阅读 2 分钟
4.6k
interface被称为接口,是一种类型,其本质是一组抽象方法的集合。凡是实现这些抽象方法的对象,都可以被称为“实现了这个接口”。其存在意义是为了规定对象的一组行为。

go中的面向对象

2017-07-16
阅读 3 分钟
10.1k
如果你在学生时代经历了一个从c到c++的学习历程,你是否还记得,老师会说c++是面向对象的,所以我们不必再使用c中的结构体作为数据结构。我们只需定义的是c++中的类,因为类中不只有成员属性,也有成员函数。换句话说, class是可以完美替代struct的,而且更强大。

go的异常处理机制

2017-07-16
阅读 2 分钟
17k
在java或php等很多面向对象的语言中, 异常处理是依靠throw、catch来进行的。在go语言中,panic和recover函数在作用层面分别对等throw和catch语句,当然也存在不同之处。