go语言
linuxheik
这个作者很懒,什么都没留下…
展开
-
Golang Http Server源码阅读
这篇文章出现的理由是业务上需要创建一个Web Server。创建web是所有语言出现必须实现的功能之一了。在nginx+fastcgi+php广为使用的今天,这里我们不妨使用Go来进行web服务器的搭建。前言使用Go搭建Web服务器的包有很多,大致有下面几种方法,直接使用net包,使用net.http包,使用第三方包(比如gorilla)。使用net包就需要从tcp层开始封装,耗费转载 2016-09-23 15:54:51 · 629 阅读 · 0 评论 -
使用Go Hijack和jQuery轻松实现异步推送服务
使用Go Hijack和jQuery轻松实现异步推送服务首先要说明的是,这里实现的异步推送服务采用的是Long Polling方式,并不是Comet。 如果想用Comet来实现的话,可以参考这个开源项目:http://cometd.org/。不过其中的服务端实现只有Java版和Python版。如果要用Go来做后端的话需要自己实现Bayeux协议。 关于异步推送服务的解决转载 2016-09-23 16:24:42 · 943 阅读 · 0 评论 -
golang的hijack篡取劫持
一直不太明白golang的hijack是干什么的?只知道hijack这个词是篡取的意思,难道跟网关的作用一样,把client的请求发到这个服务上,然后这个服务帮忙转发到远端server,但是看了源码后就明白这个golang hijack是干嘛的?先看一下hijack相关的结构说明:type Hijacker interface { Hijack() (net.Conn转载 2016-09-23 16:28:28 · 3043 阅读 · 0 评论 -
用Go实现的简易TCP通信框架
接触到GO之后,GO的网络支持非常令人喜欢。GO实现了在语法层面上可以保持同步语义,但是却又没有牺牲太多性能,底层一样使用了IO路径复用,比如在LINUX下用了EPOLL,在WINDOWS下用了IOCP。但是在开发服务端程序的时候,很多都是被动触发的,都是客户端发送来的请求需要处理。天生就是一个event-based的程序。而在GO下,因为并发是作为语言的一部分,goroutine, chan转载 2016-09-23 16:55:58 · 1560 阅读 · 0 评论 -
map[string]Interface{}
Go不是一种典型的OO语言,它在语法上不支持类和继承的概念。没有继承是否就无法拥有多态行为了呢?答案是否定的,Go语言引入了一种新类型—Interface,它在效果上实现了类似于C++的“多态”概念,虽然与C++的多态在语法上并非完全对等,但至少在最终实现的效果上,它有多态的影子。那么,Go的Interface类型到底是什么呢?怎么使用呢?这正是本篇笔记试图说明的问题。1. Metho转载 2016-09-23 17:32:18 · 10592 阅读 · 0 评论 -
Go语言函数
Go语言中的函数有系统函数和自定义函数。1、系统函数系统函数就是Go语言自带的函数,系统函数一般根据功能封装在不同的包内,比如Print、Printf、Println都在fmt包内,Abs、Sin都在math包内,Listen、Dial都在net包内等等。如果要使用系统函数,就要引入相关的包。看下面代码:package mainimport "fmt"import "ma转载 2016-09-21 10:38:15 · 1621 阅读 · 0 评论 -
Go开发工具
http://studygolang.com/articles/16781.4 Go开发工具本节我将介绍几个开发工具,它们都具有自动化提示,自动化fmt功能。因为它们都是跨平台的,所以安装步骤之类的都是通用的。LiteIDELiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),由visualfc编写。图1.4 LiteI转载 2016-09-21 16:00:54 · 3480 阅读 · 0 评论 -
go Hijack
golang(GO语言)http详解简单基础(1)因为好像长时间的写PHP可能大家感觉烦躁了,所以写一点golang的东西大家可以拿去玩玩,golang在web开发中让你得心应手,其实也是很好的东西,只要你玩进去之后感觉好爽,感觉比PHP的好处就是没有那么多的“限制”,基础部分大家可以看下简单的我再前边更新了一点点后边会继续给大家补上的,以后就是PHP+转载 2016-09-22 15:29:07 · 1375 阅读 · 1 评论