Node.js与Golang使用感受与小结【三】--JS异步流程控制(序列模式、并发模式、有限并发模式)

十一、Node.js异步流程控制(序列模式、并发模式、有限并发模式) Javascript在基本语法上与其它大部份C派生的语言没有太多区别,你可能很容易从其它语言过度到Javascript。很多从其它语言转到Javascript来的用户,在用一段时间之后很可能对这门语言又爱又恨,特别是对于异步流程的控制。 对于大部份异步编程的模型来说,大多是事件驱动型且是基于进程来编码。这样为我们带来了诸多好处,我们不必去处理为了实现同样目的而做的多线程模型里面的问题。多线程编程里面,由于多个线程访问的内存块是...阅读全文

新浪博客 (2016-09-12 13:19:59) 香吉士

深入学习golang(5)—接口

接口 概述 如果说goroutine和channel是Go并发的两大基石,那么接口是Go语言编程中数据类型的关键。在Go语言的实际编程中,几乎所有的数据结构都围绕接口展开,接口是Go语言中所有数据结构的核心。Go语言中的接口是一些方法的集合(method set),它指定了对象的行为:如果它(任何数据类型)可以做这些事情,那么它就可以在这里使用。 type Reader interface { Read(p []byte) (n int, err error) } type Writer i...阅读全文

博客园 2014-10-05 16:33 hustcat

go中的array

今天来说一下go里面的array。要对go中的array进行了解,就需要知道go中的另外一个概念slice,而要知道slice你又要知道new和make的区别,而要知道new和make的区别你又得了解value,pointer,reference的区别。下面我们来逐一看一下这些概念。 1、value, pointer以及reference 这些概念其实与其他语言是一样的,但是我们在这里单独提出来说这个是因为在go语言里都是使用value的,因此如果将一个array赋值给另外一个array,必然会...阅读全文

CSDN博客 2010-11-05 07:28 HopingWhite

go语言学习优秀博文、论坛收藏<持续更新>

(1)http://www.cnblogs.com/yjf512/category/385369.html (2)http://studygolang.com/ (3)Go 中文社区     Go官方网站 http://golang.org/     Go中文官网 http://golang-china.org/     中文论坛(测试中…) http://bbs.golang-china.org/     中文用户讨论组(邮件) https://groups.google.com/group...阅读全文

CSDN博客 2013-06-03 13:25 wuwenxiang91322

ubuntu下最新版golang安装教程

相信打算安装golang的同学们早已看了很多安装教程了,网上的主流方法有两种,一种是     <span style="font-size:14px;"> sudo apt-get install golang-go </span>     简单暴力,但是由于现在很多golang的库已经要求 >1.1 ,而 apt-get 安装的是 1.02 ,也建议大家安装最新版的golang,因此推荐手动安装,教程本身没有问题,但是由于某些特殊原因,可能导致安装失败甚至卡在莫名奇妙的地方。在卡了...阅读全文

CSDN博客 2014-06-26 15:27 stonxer

go-mysql: database/sql 接口适配

go-mysql已经支持golang database/sql接口,并通过https://github.com/bradfitz/go-sql-test测试用例。 现在go-mysql可以直接通过golang sql接口使用,如下: import _ "github.com/siddontang/go-mysql/mysql" import "database/sql" 后续的使用,可以直接参考相关golang sql的教程,譬如这个。 golang sql接口的兼容主要在driver....阅读全文

CSDN博客 2014-03-16 21:03 siddontang

使用Intellij IDEA在Windwos下搭建golang开发环境 (把屎把尿超详细)

之前用golang的时候都是在Mac OS X和Linux下的, 用gvm安装golang,自动设置好相关环境, 安装个Sublime Text安装GoSublime插件即可. 搭建过程算是相当简单的. 现在还到Windows下的时候, 发现继续用Sublime Text来配置开发环境着实要蛋疼得多.  由此转向了Intellij IDEA. 废话不多说下面是整个安装环境的搭建. 另外其实很多网上的搭建教程过于老旧, 已经不再适用. 一. 首先安装golang 可以自己下载源码进行编译, 也可...阅读全文

CSDN博客 2013-11-28 00:36 wzg_j

golang反射中函数和方法的调用

golang反射中函数和方法的调用 上一篇文章说到了golang中的反射的一些基本规则,重点就是文章中最后的三点,但是这篇文章并没有说如何在反射中调用函数和方法,这就是接下来要谈的。 反射中调用函数 众所周知,golang中的函数是可以像普通的int、float等类型变量那样作为值的,例如: package main import "fmt" func hello() { fmt.Println("Hello world!") } func main() { hl := hello...阅读全文

CSDN博客 2013-07-14 23:26 wowzai

Node.js与Golang使用感受与小结【二】

五、Node.js简介 Node.js是一个基于谷歌V8引擎的平台,通过利用V8引擎并遵守COMMONJS标准实现了一个高效稳定的平台。Node.js做web编程是基于数据流的方式,可以直接操控http流,正由于这样的特性,我们可以方便的去定制发送给客户端的数据,同时由于使用了Javascript并且由于它的异步性,更适合于现代应用程序的开发。目前全世界已经有多家公司在使用,著名的用户如linkin,TaoBao,Myspace等。 六、是前端选择,还是后端的福音? Node.js发布之后,在国...阅读全文

新浪博客 (2016-09-12 13:19:19) 香吉士

Node.js与Golang使用感受与小结【一】

Node.js与Golang使用感受与小结 目录 一、互联网的基石TCP/IP协议 二、HTTP服务器编写与编程语言无关 三、构建HTTP服务器需要掌握的知识点 四、HTTP协议基础 五、Node.js简介 六、是前端选择,还是后端的福音? 七、Node.js与传统php-fpm模式之间的对比 八、安装Node.js 九、让浏览器读懂你的心–Content-Type 十、向浏览器发送文件 十一、Node.js异步流程控制(序列模式、并发模式、有限并发模式) 十二、静态资源文件的简单优化 十三、现...阅读全文

新浪博客 (2016-09-12 12:46:38) 香吉士

golang: 类型转换和类型断言

本文为转载,原文地址:http://blog.go-china.org/22-type-assert 类型转换在程序设计中都是不可避免的问题。当然有一些语言将这个过程给模糊了,大多数时候开发者并不需要去关注这方面的问题。但是golang中的类型匹配是很严格的,不同的类型之间通常需要手动转换,编译器不会代你去做这个事。我之所以说通常需要手动转换,是因为interface类型作为一个特例,会有不同的处理方式。 golang中的所有类型都有自己的默认值,对此我做了个测试。 $GOPATH/src —...阅读全文

CSDN博客 2014-05-16 08:07 kai_ding

goproxy和msocks简介

goproxy是我个人写的,和shadowsocks同类的软件。当然,在设计之初我完全不知道shadowsocks的存在,goproxy的最初目标也不是成为shadowsocks的同类。只是我一直无法实现一个可靠的,能够达成目标的系统。最后想,那这样吧,我找一个跳一跳能够够到的苹果。大幅简化的结果就是goproxy——后来我才知道shadowsocks。 shadowsocks的基本原理 shadowsocks的基本概念,就是利用某种不同于SSL的协议,将本地的socks数据流转发到远程。这个协...阅读全文

贝壳的壳 2014/05/08 shell909090

Go语言实战 - 网站性能优化第一弹“七牛云存储”

由于用户纷纷反应山坡网的打开速度比较慢,所以两天前我们决定把服务器从linode迁移到阿里云。 整个迁移过程非常平滑,基本上一个小时就完成了。而且阿里云的配套设施提供的也很不错,运行状态监控什么的都有。在此向大家推荐阿里云! 话说由于我们资金有限,就选择了ECS服务器中最低档的一款,512MB内存,2MB带宽。而山坡网上会有很多书籍封面图片,这导致了页面打开的速度并没有想象中提高的多,用户反应速度虽有提升,但不明显。 此时我想到了七牛云存储,虽说知道它已经几个月了,但始终没有正式开始用,总...阅读全文

博客园 2013-08-22 14:46 AllenDang

用Go写Windows桌面应用 - 使用Form

几个月以前看到了Go的消息,读完入门PPT之后,便有种感觉,这就是我想象中的语言。语法简单,写起来手感极好,设计则处处透着简洁。 随后便开始用它代替python写一些常用小工具,堪称得心应手。几个月以后,日益离不开了,再用别的语言时总觉得缺了点什么。 我很喜欢写桌面应用,之前一直用C++,但实在不喜欢它那复杂的设计,而且也没有找到合心意的UI库。此时心里冒出了一个念头,用Go写一套UI库。很大胆,很冒险,甚至很二。很多人都提醒到,UI库这种庞大的东西靠一个人是不可能完成的。我也经常在挣扎,但还是...阅读全文

博客园 2012-02-15 13:22 AllenDang

使用CGO封装Windows API

Go使用C的库非常简单,通过cgo这个工具基本上可以说是无缝集成了。下面就演示一下用cgo在Windows下面封装API的过程。注意,请把Go更新到最新一个Weekly版本。 首先,在$GOPATH\src(如果不知道$GOPATH是什么,请移步这里看详细信息)下面新建一个文件夹“w32api”,然后在其内新建一个文件“kernel32.go”,内容如下。 package w32api // #define WIN32_LEAN_AND_MEAN// #include <windows.h>im...阅读全文

博客园 2012-02-21 13:47 AllenDang

Go语言实战 - 创业进行时之创业伊始

在工作了10年之后,我于32岁的年纪在两个月前辞职创业了。 简单介绍一下之前的整个职业生涯,挺典型的,工程师 –> 资深工程师 –> 架构师 –> 项目经理 –> 部门经理,可以说,产品研发过程中的所有角色我都走了一遍,任职的公司也越来越大,可是内心的不安确实与日俱增,总觉得这一身本事渐渐被淹没在了办公室的各种琐碎之中,心中想要做一款好产品的梦想似乎越来越远了。 于是,我打定了主意,要创业。但在这个人生阶段(已结婚、无车、无房),这不是一个容易的决定,有太多的东西会让我顾虑。为了不给自己留后...阅读全文

博客园 2013-06-25 14:12 AllenDang

用Go语言做产品半年的一些感觉

用Go语言做产品刚好半年,有一些感觉跟大家说道说道。 在使用Go之前,我常常想象,无法使用先进的Debug工具会对工作进度造成多么巨大的影响。甚至在Visual Studio的娇惯下认为,不能调试基本就无法正确的写出代码了。 由于我在Windows平台,能够支持Go语言调试的gdb老是无法工作,所以在这半年中,我一次都没有打过断点,也没有开启过一次单步跟踪。刚开始我心里非常没底,只好老老实实为每一个方法写测试代码,每开发完一个功能之后就运行所有测试。这个方法其实也算是家喻户晓的了,但很奇怪,我在...阅读全文

博客园 2013-12-24 19:29 AllenDang