不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2019-06-18 10:10  分类:Go_V 

官网:https://vlang.io

作者:php-note.com  发布于:2018-11-27 10:17  分类:Go_V 

V语言 版本发布 记录

作者:php-note.com  发布于:2018-07-18 10:07  分类:Go_V 

Tao同时也是我用Go语言开发的一个异步的TCP服务器框架(TCP Asynchronous Go server FramewOrk),秉承Go语言“Less is more”的极简主义哲学,它能穿透一切表象,带你一窥网络编程的世界,让你从此彻底摆脱只会写“socket-bind-listen-accept”的窘境。本文将简单讨论一下这个框架的设计思路以及自己的一些思考。

作者:php-note.com  发布于:2018-07-16 17:48  分类:Go_V 

Golang的主要 设计目标之一就是面向大规模后端服务程序,网络通信这块是服务端 程序必不可少也是至关重要的一部分。在日常应用中,我们也可以看到Go中的net以及其subdirectories下的包均是“高频+刚需”,而TCP socket则是网络编程的主流,即便您没有直接使用到net中有关TCP Socket方面的接口,但net/http总是用到了吧,http底层依旧是用tcp socket实现的。

作者:php-note.com  发布于:2018-07-12 12:36  分类:Go_V 

从零开始写Go网络通信框架

(1)基本的Socket Client/Server的编写    http://blog.csdn.net/mypc2010/article/details/73432246

(2)自定义通讯协议   http://blog.csdn.net/mypc2010/article/details/73471274

(3)对长连接的处理   http://blog.csdn.net/mypc2010/article/details/73571746

(4)全双工收发消息   http://blog.csdn.net/mypc2010/article/details/73650049

(5)断线重连   http://blog.csdn.net/mypc2010/article/details/78276702

作者:php-note.com  发布于:2018-03-27 00:00  分类:Go_V 

pack.sh

#!/bin/sh

export GOARCH=amd64
export GOOS=linux

bee_wjb pack -exp="pack.sh:_readme:README.md:glide:bee.json:app/view:data/cache:data/log:data/upload:vendor"


作者:php-note.com  发布于:2018-03-25 20:54  分类:Go_V 
作者:php-note.com  发布于:2018-03-25 20:42  分类:Go_V 

context是Go中广泛使用的程序包,由Google官方开发,在1.7版本引入。它用来简化在多个go routine传递上下文数据、(手动/超时)中止routine树等操作,比如,官方http包使用context传递请求的上下文数据,gRpc使用context来终止某个请求产生的routine树。由于它使用简单,现在基本成了编写go基础库的通用规范。笔者在使用context上有一些经验,遂分享下。

作者:php-note.com  发布于:2018-03-25 20:39  分类:Go_V 

简介

Golang 中的创建一个新的 goroutine , 并不会返回像c语言类似的pid,所有我们不能从外部杀死某个goroutine,所有我就得让它自己结束,之前我们用 channel + select 的方式,来解决这个问题,但是有些场景实现起来比较麻烦,例如由一个请求衍生出的各个 goroutine 之间需要满足一定的约束关系,以实现一些诸如有效期,中止routine树,传递请求全局变量之类的功能。于是google 就为我们提供一个解决方案,开源了 context 包。使用 context 实现上下文功能约定需要在你的方法的传入参数的第一个传入一个 context.Context 类型的变量。

作者:php-note.com  发布于:2018-03-17 22:06  分类:Go_V 

序言

看过很多方面的编码规范,可能每一家公司都有不同的规范,这份编码规范是写给我自己的,同时希望我们公司内部同事也能遵循这个规范来写Go代码。

如果你的代码没有办法找到下面的规范,那么就遵循标准库的规范,多阅读标准库的源码,标准库的代码可以说是我们写代码参考的标杆。

格式化规范

go默认已经有了gofmt工具,但是我们强烈建议使用goimport工具,这个在gofmt的基础上增加了自动删除和引入包。

go get golang.org/x/tools/cmd/goimports