Go语言中文网 为您找到相关结果 1298

Golang和nodejs小比拼

​ Golang和nodejs小比拼这期呢,我们来比较一下,golang和nodejs。这两个都是后端比较热门的开发技术。发展的都非常快。 [golang简介]我们先来看一下golang, 这门技术是免费的,可编译的,开源的,面向通用开发的编程语言。这门语言有两位来自谷歌的专家Ken Thompson和Rob Pike所开发, 开发时间是2007年。这门语言跟c语言非常接近, 支持结构定义, 同时又支持垃圾回收处理。内存使用上也更加方便,安全。因为跟c语言很接近,所以golang屏蔽掉了一些现代编程语言中的特征, 比如说类继承是不存在的。[nodejs简介]再来看一下nodejs。这门技术也是开源的。JavaScript作为核心语言, 跨平台。用于创建服务器端实时处理的应用系统。创作者为Ry...阅读全文

博文 2019-08-01 08:32:38 丁哥开讲

GO语言学习之数组

/*640*60,创建于2013-5-24*/ var cpro_id = "u1290382"; 1.申明一个数组 var a[2] int 或者 a:=[2]int{1,2} 2.数组索引 数组就是索引的来建立如下图 我们再来一个测试 3.go语言可以自动计算数组的长度,譬如你知道数组有几个可以如下申明 [php] a:=[…]int{1,2,3,45} [/php] 4.指针数组 [php] a:=[3]int{1,2,3} var p * [3]int = &a //这种是指针数组 我们看到可以直接输出指向数组的指针 x , y :=1 ,3 a := […]*int{&x ,&y} str.Println(a) //输出这样[0xc080000068 0xc080000070]的地...阅读全文

博文 2017-02-09 18:37:03 widuu

如何选择一门编程语言

> 我应该学习哪种编程语言? ![](https://raw.githubusercontent.com/studygolang/gctt-images2/master/how-to-choose-a-programming-language/1.jpg) 如果你看到这篇文章,很有可能,在你的职业生涯中,你至少有一次在思考应该选择哪种语言。或者你甚至在编程生涯开始之前就已经考虑了。很高兴你能看到这篇文章。 我本人经常地(甚至可能过多地)去思考这个问题。不仅如此,我还会在实践中尝试许多不同的技术,得到或好或坏的结果。 在过去的几年,我曾经使用过以下语言: * Bash * IBM RPG * Java * Scala * C# * C++ * Ruby * JavaScript, Coffee...阅读全文

博文 2019-12-11 18:12:57 polaris

go语言-使用swig转化C++代码为go所用

服务端的某个项目,要考虑到性能问题,之前使用基于公司框架的php,性能有瓶颈,经过调研,决定使用go。因为之前有一个关键模块已经使用c++实现,所以计划使用go做HTTP容器,让go和c++模块结合起来。 在网上调研结合方案,go自带的cgo只支持c语言,swig工具可以支持多种语言结合c++,所以决定使用swig,这里简要叙述下swig的使用和一些发现的要点。 1. 我们解压了swig后,首先要根目录运行configure和make,这样会生成各个子目录的makefile,并在当前目录生成preinst-swig.in和swig可执行文件,这些在后续会拥有。 2. 我们进入Example的go里面,这里有一些值得参考的例子 3. 研究那个class例子,有这几个文件: class.cxx和...阅读全文

博文 2015-06-17 23:01:50 linux4fun

Go 1.4正式发布 支持Android开发

摘要:Go是谷歌2009年发布的一门开源的编程语言,目前代码托管地址已经移到Github上,大家可以更加方便的访问和玩耍啦。 今年是Go诞生的第五个年头,而Go 1.4版本也是其第五个稳定版本。与Go 1.3版本相隔6个月时间。此次版本更新最引人注目的是官方支持Android,现在,开发者可以使用Go开发简单Android App了。 该版本对小的语言进行了改进,支持更多的操作系统和处理器架构;改进了工具链和库。同样,Go 1.4也优化了稳定性,编译和运行方面都没有修改。 语言方面的改进是for-range循环方面的语法改进,在1.3版本中有两种写法,现在只需这样就可以了: 引用for range x { ... } 在1.4版本中还出来一个新的子命令,go generate,该命令主要用来...阅读全文

博文 2014-12-13 01:00:01 cao345657340

golang 位操作

package main import ( "fmt" ) // 获取0-n之间的所有偶数 func even(a int) (array []int) { for i := 0; i < a; i++ { if i&1 == 0 { // 位操作符&与C语言中使用方式一样 array = append(array, i) } } return array } // 互换两个变量的值 // 不需要使用第三个变量做中间变量 func swap(a, b int) (int, int) { a ^= b // 异或等于运算 b ^= a a ^= b return a, b } // 左移、右移运算 func shifting(a int) int { a = a << 1 a = a >> 1...阅读全文

博文 2014-12-20 19:00:01 moodlxs

Golang从入门到精通(一):Golang介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiangxianghehe/article/details/78778910 介绍 Go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。为了方便搜索和识别,有时会将其称为Golang。 Go语言于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。 2012年,Go语言的创造者们发布了它的1.0版本。Go语言的创造者们包括Unix操作系统和B语言(C语言的前身)的创造者、UTF-8编码的发明者Ken Thompson,Unix项目的参与者、UTF-8编码的联合创始人和Li...阅读全文

博文 2019-01-28 11:31:40 xiangxianghehe

RUST叫系统编程语言,而GO是网络编程语言

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。 但是别以为你用JAVA GO就能写出速度更快的IO,IO的速度跟语言的编译速度根本就没有多少影响。现在最快速的IO基本是多路复用而不是多线程。对于多路复用,语言的CPU计算根本无足轻重。 参考:http://www.oschina.net/news/62867/go-jav...阅读全文

博文 2015-05-30 03:00:15 findumars

比较Erlang和Golang

雨天的周末,适合码字的时节。。。 一年前我开始学习go语言的时候,如获至宝,既有python的编码效率,又带来性能的15倍提升。尤其是在异步编程方面,可以使用channel同步线程,不必加锁可以充分利用cpu多核计算,真是没有弱点。 后来慢慢了解到,这种无锁异步编程的思想,源自一门叫做erlang的语言,Erlang更加了不起。除了异步编程之外,这门语言天生支持分布式,单机上开发的软件,可以不加修改地运行在集群上,另外还支持软件版本的热升级,自带的OTP框架支持进程间的监督和重启,提供了坚如磐石的运行环境。Erlang是如此完美,我认为是最适合开发互联网应用的语言,一时间有种“终于找到真理”的喜悦。 不过那个时候,心里总觉得有什么地方不对,那就是,七牛CEO许式伟本身是Erlang高手,他却...阅读全文

博文 2015-01-27 11:00:01 天下杰论

使用Go语言开发iOS应用(Swift版)

使用Go语言开发iOS应用(Swift版) 本文假设读者对Go语言和Swift语言都有一定了解, 但是对二者混合使用不了解的同学. 本教程是基于一个真实上架的iOS应用做的简单的总结。 我们先看看运行效果: 扫码安装: 背景 Go语言是Google公司于2010年开源的一个面向网络服务和多并发环境的编程语言,特点是简单。 但是因为简单,也就只能实现90%的性能,这是Go语言的最大优点,因为 少即是多 的道理不是每个人都能领悟的。 Swift是Apple公司于2014年发布的用来替代ObjectiveC的语言,主要面向iOS和OS X上的界面程序开发。 当然用swift来开发服务器也是大家关注的一个领域,作者比较看好在不远的将来Swift将逐步替代C++和Rust语言。 Go语言和Swift语...阅读全文

博文 2016-05-24 17:46:13 chai2010

c语言客户端与golang服务端通信(网络字节序)

网络二进制数据转换: 总所周知,数据在tcp网络传输协议中传输的字节序是大端模式的,换句话说如果你要传输一个int32型的整数,那么假设其二进制小端模式表示为11111111111111110000000000000000那么其大端模式表示为00000000000000001111111111111111,利用c语言的htonl函数会将数据字节序转换成大端模式,在网络上面传输,接收端想解出原始数据只需要认为发送来的数据是大端模式,按照大端模式表示的数据解析便可 举个例子: 在C语言端发送一个int32_t数据过程如下: 发送端(c语言) char buf[100]; int32_t x = 100; ((int*)buf)[0] = htonl(x); send(clientfd, buf,...阅读全文

博文 2016-02-26 03:00:01 candycloud

人工智能时代,编程语言的学习方向该如何选择?

姓名:刘彦斌 学号:17021210946转载自:https://mp.weixin.qq.com/s/PJmtEwYjNQCuTsAGjxnDDA,有删节【嵌牛导读】:在科技领域飞速发展的今天,从WEB到移动互联网,从AI到大数据挖掘,你方还未唱罢我方就已登台。面对应接不暇的变化,很多非资深及潜在从业者难免感到迷茫:行业发展太快,技术更新频繁,面对如此多的编程技术,应该如何选择方向,本文将对一些实用的编程语言进行介绍【嵌牛鼻子】:编程语言、Python、Java、C语言、C++、C#、R语言、JavaScript、PHP、Go、Swift【嵌牛提问】:现在比较常见的编程语言有哪些?它们都用来做什么?【嵌牛正文】: 结合IEEE发布的2017年编程语言排名,小编做了一个编程语言盘点,希望能给...阅读全文

cgo讲义及练习

前提条件: 了解Go语言和C语言的基本知识和基本用法。 一、什么是cgo 简单地说,cgo是在Go语言中使用C语言代码的一种方式。 二、为什么要有cgo C语言经过数十年发展,经久不衰,各个方面的开源代码、闭源库已经非常丰富。这无疑是一块巨大的宝藏,对于一门现代编程语言而言,如何用好现成的C代码就显得极为重要。 三、如何使用 3.1 系统配置 要想使用cgo,你的计算机上必须有GCC,并且将gcc编译器的可执行文件所在的目录添加到PATH这个环境变量中。例如,我的gcc.exe在C:\mingw64\bin下,所以,要把C:\mingw64\bin这个目录添加到PATH。 3.2 C假包 我们知道,Go语言以包为代码的逻辑单元。如果要在Go代码中使用C代码,也要为C代码单独设立一个“包”并将...阅读全文

博文 2015-03-19 22:00:06 独立风华

GO语言介绍及视频教程

其中包含GO语言基础教程,和开发工具。 http://pan.baidu.com/s/1eQ1fd3W 1简介 Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。 Go是谷歌2009发布的第二款编程语言。2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用的一种BASIC语言. 北京时间2010年1月10日,Go语言摘得了TIOBE公布的2009年年度大奖。该奖项授予在2009年市场份额增长最多的编程语言。 谷歌资深软件工程师罗布·派克(Rob Pike)表示,“Go让我体验到了从未有过的开发效率。”派克表示,今天...阅读全文

博文 2014-11-25 21:00:00 java_7star

Go调用C++代码相关资料

swig开源项目([http://www.swig.org](http://www.swig.org))为多种编程语言提供了相互访问的接口生成工具,这里面也包含了为go语言生成调用C、C++代码的功能。Go语言自带的cgo工具已经支持对C代码的调用,但对C++代码的支持确实不行,所以Go1已经把swig的C++这部分功能作为附带功能加入(参见Go源代码\go\misc\swig)。这样,C++这块的资源也可以被Go语言使用了。 1、[SWIG And Go](http://www.swig.org/Doc2.0/Go.html) 2、[使用swig工具为go语言生成调用C、C++代码例子](http://my.oschina.net/qinhui99/blog/64270) ...阅读全文

go语言的逆袭

Go 语言的哪些特点最吸引您? 并发 Go 最大的特色就是在语言层面天生支持并发,不需要像其他大多数编程语言那样需要开发者自行实现或借助第三方类库实现并发编程,Go 在语言级别支持的并发编程,其逻辑简化得通俗易懂简单好上手。 性能 不同于大多数脚本或解释性的高阶编程语言,用 Go 编写的代码直接了当编译成机器码高效执行。 简洁 25 个关键字即表达你能想到的所有招式,没有也不需要有任何多余,想干啥事就 go 一下。 跨平台 x86、AMD64 (x86_64)、ARM;Linux、Windows、Darwin (OSX)、FreeBSD、Android (计划Go 1.4) 几乎全平台支持,真正做到一份源码,随处编译,到处运行。 Go 语言都有哪些常见的应用场景? 作为一个 Go 语言的重度...阅读全文

博文 2014-10-13 00:00:03 fuyuehua22

Go语言为什么这么流行?

这个问题很复杂,多方面原因决定了Golang的实用价值。 Go语言的背景 Go的吉祥物Gordon田鼠,是由Google公司创造一种新程序语言,并且公司为这门语言付出了极大的努力。Go语言一出现就获得业界的普遍关注和使用。为什么呢? Go具有一些多数程序语言没有的资产。首先,这是一个Google计划,它有数量庞大的服务器和技术高超的程序设计师为后盾。Google的一个实验产品可能比许多其他公司的实际产品更具商业意义。2007年,Google公司的三位核心人员 Robert Griesemer, Rob Pike, 和 Ken Thompson 设计出了Go语言,其语言定位为系统编程语言。只看Go创始人就理解Google有多么厉害,这三位创始人的简介如下。 Robert Griesemer i...阅读全文

博文 2016-04-29 13:00:01 GreatElite

Go语言 时间处理详解

编程离不开时间,时间管理,严格的说分成两块,一个是当前的时刻,对应的是一个点,还有是一段时间间隔。本文简单的讲讲go的时间相关的编程,比较简单,高手可以一笑而过。 golang对时间的支持,是package time做的事儿,里面有好多的函数,我就不一一举例学习,毕竟这是官方文档干的事情。我们初步的学习下常用的函数。 第一个是UNIX epoch time,确切的说就是自1970-01-01 00:00:00 GMT以来的秒数,不知道如何获取的,可以在shell下执行 date +%s manu@manu-hacks:~/code/go/self$ date +%s 1385131172 熟悉Linux下C编程的就是time函数的返回值: #include time_t n...阅读全文

博文 2015-06-17 20:05:17 abv123456789

Go语言中不同类型切片之间的相互转换

将 []T 切片转换为 []byte 类似C语言中将其他类型的数组转换为char数组: func ByteSlice(slice interface{}) (data []byte) { sv := reflect.ValueOf(slice) if sv.Kind() != reflect.Slice { panic(fmt.Sprintf("ByteSlice called with non-slice value of type %T", slice)) } h := (*reflect.SliceHeader)((unsafe.Pointer(&data))) h.Cap = sv.Cap() * int(sv.Type().Elem().Size()) h.Len = sv.Len...阅读全文

博文 2015-05-12 21:00:03 chai2010

go语言之整形和字节数组的转换

go语言之整形和字节数组的转换 //整形转换成字节 func IntToBytes(n int) []byte { tmp := int32(n) bytesBuffer := bytes.NewBuffer([]byte{}) binary.Write(bytesBuffer, binary.BigEndian, tmp) return bytesBuffer.Bytes() } //字节转换成整形 func BytesToInt(b []byte) int { bytesBuffer := bytes.NewBuffer(b) var tmp int32 bin...阅读全文

博文 2015-06-17 23:01:43 bojie5744

Go语言之父谈Go:大道至简

自:http://www.csdn.net/article/2012-07-05/2807113-less-is-exponentially-more 导读:这篇文章是Google首席工程师、Go语言之父Rob Pike自己整理的6月21日在旧金山给Go SF的演讲稿。Rob提到:Go语言本是以C为原型,以C++为目标设计,但最终却大相径庭。值得一提的是,这3门语言都曾当选TIOBE年度语言。 几个礼拜之前我被问到:“对于Go语言,最令你惊讶的是什么?”当时我就明确地给出了答案:“虽然我希望C++程序员能够使用Go作为替代拼,但实际上大部分Go程序员都是从Python和Ruby转过来的,其中却少有C++程序员。” 我、Ken以及Robert都曾是C++程序员,在我们编写软件时觉得应该设计一门...阅读全文

博文 2015-06-17 23:01:51 gaopeiliang

Go语言使用Scp传输文件

package main import ( "fmt" "go-ssh/ssh" "io" "os" ) const ( user = "user" ip_port = "ip_port" password = "Passwd" ) func main() { PassWd := []ssh.AuthMethod{ssh.Password(password)} Conf := ssh.ClientConfig{User: user, Auth: PassWd} Client, err := ssh.Dial("tcp", ip_port, &Conf) if err != nil { fmt.Println(nil) } defer Client.Close() if session, er...阅读全文

博文 2015-06-17 23:06:59 fyxichen

Golang中如何模拟C语言中的if(scanf(…)==EOF)来控制输入的终止

相信很多从C/C++转到Golang的朋友们都经常会对Go中的输入控制感到头疼。。。尤其是如果要在Go中模拟C语言中的如下代码会遇到不小困惑: char input[100]; while (1) { if (scanf("%s", input) == EOF) { printf("输入结束\n"); break; } } 上面这段代码在控制台中输入一个Ctrl+Z(EOF) 就可以终止输入了: C语言中的 int scanf() 函数返回的是一个int类型,它的值只有三种情况: (1) 如果一切正常,返回输入的字符个数,即值>0 (2) 如果出现错误,返回0 (3) 如果遇到结束符EOF,返回-1 注意第三条:遇到结束符会返回-1,这样就会结束输入。也就是说,如果我们输入EOF(EOF其实...阅读全文

博文 2014-10-21 20:00:01 u011774512

从Go、Swift出发:语言的选择需谨慎

本文转自 : http://www.csdn.net/article/2014-12-09/2823025 摘要:无论是开源的Go,还是闭源的Swift,新的语言总是利弊一体。不过可以确定的是,新的语言给予程序员一些有用的支撑点。而对于开发者而言,不管你成长多少,你都会受制于你使用的根源语言,所以选择需谨慎。 Google于2009年第一次提出了Go的构思,Facebook在去年春天引入了Hack,随后不久Apple也发布了其Swift语言。 在 战争中,胜利者写历史书;在科技中,赢的公司都在写编程语言。互联是建立在开发标准和代码之上,但是社交网络和云计算领域受企业巨头控制,并且它们开始把 自己独一无二的印记烙在数字科技上——这是必然的,就像征服者威廉和他的诺曼人一样,大量新的词汇加入到英语...阅读全文

博文 2016-04-10 09:05:09 ftm-datablogs

sqlite3安装问题

我按照[http://my.oschina.net/Obahua/blog/129689][1] [1]: http://my.oschina.net/Obahua/blog/129689 上的说明下载sqlite-dll-win32-x86-3080200.zip解压到system32文件夹中,然后安装TMD 版的 GCC 编译器tdm-gcc-4.8.1-3.exe在c盘根目录,路径也设置好,最后go get github.com/mattn/go-sqlite3,这是出现错误cc1.exe: error: unrecognized command line option "-fno-stack-protector",运行下实例也是出现这个错误,这是怎么回事啊?请大神帮忙...阅读全文

为何 Go 的人气正在飞涨

#### 仅仅两年时间,在最流行的编程语言中,Go 语言从第 65 名飙升至第 17 名。以下是其快速增长的原因。 ![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/build_structure_tech_program_code_construction.png?itok=nVsiLuag) 图像来自于 _opensource.com_ [Go 语言](https://golang.org/) ,也被称为谷歌的 Go 语言,人气正在强劲增长。 虽然诸如 Java 和 C 这样的语言继续主导编程,但新编程模型已经出现,它们更适合现代计算,特别是云计算领域。 Go ...阅读全文

博文 2017-11-24 14:06:20 polaris

Golang横空出世的背景(为什么选择Go)

起源及演进 最近十年来,C/C++在计算领域没有很好得到发展,并没有新的系统编程语言出现。对开发程度和系统效率在很多情况下不能兼得。要么执行效率高,但低效的开发和编译,如C++;要么执行低效,但拥有有效的编译,如.NET、Java;所以需要一种拥有较高效的执行速度、编译速度和开发速度的编程语言,Go就横空出世了。 go是一个Google公司推出的一个开源项目(系统开发语言),它是基于编译、垃圾收集和并发的编程语言。并将其开源并在BSD许可证下发行。 Go最初的设计由Robert Griesemer,Rob Pike 和Ken Thompson在2007年9月开始的,官方的发布是在2009年11月。2010年5月由Rob Pike公开的将其运用于google内部的一个后台系统。目前在googl...阅读全文

博文 2014-11-29 04:00:01 aaron_ye

golang逐行处理文件

golang 提供了package bufio。bufio.NewReader()创建一个默认大小的readbuf,当然,也可以bufio.NewReaderSize。 func NewReader(rd io.Reader) *Reader NewReader returns a new Reader whose buffer has the default size(4096). func NewReaderSize(rd io.Reader, size int) *Reader NewReaderSize returns a new Reader whose buffer has at least the specified size. If the argument io.Reade...阅读全文

博文 2015-08-25 22:00:01 冷絮

Notepad++配置Go语言语法高亮

前提是已经安装并配置好了Go语言环境,这里不再赘述。 1.Go语言支持包 如果在Go安装目录中misc文件夹中有notepadplus文件夹,其中有userDefineLang_Go.xml(网上有的写是userDefineLang.xml,我没有见到)这个文件,则直接使用,没有的话就从下面这个地址下载。下载到后,解压会得到两个xml,一个是userDefineLang_Go.xml,一个是go.xml。 http://notepad-plus.sourceforge.net/commun/userDefinedLang/go.zip 2.配置Notepad++ 1).打开userDefineLang_Go.xml,把文件开头和结尾的注释...阅读全文

博文 2015-06-17 23:00:28 change_from_now

TIOBE 2017年7月编程语言排行榜:Go 排名进入前十

Gopher 们,还犹豫啥,赶紧好好学习吧!

Jul 2017 Jul 2016 Change Programming Language Ratings Change
11Java13.774%-6.03%
22C...阅读全文

Go RPC Inside (server)

说到rpc让我想起了刚毕业面试的时候,被问到是否了解rpc?我记得当时我的回答是“课本上学过rpc,只知道是远程过程调用,但没有用过,具体也不知道是什么”。的确,大学中间件这门课程里有讲到rpc,里面还引入了一个非常难理解的概念——“桩”,英文应该叫”stub”。现在的rpc实现里,stub这个概念好像都没见到了,应该都是叫”method”。 实现一个rpc服务器很难吗?rpc服务器也就是在tcp服务器的基础上加上自定义的rpc协议而已。一个rpc协议里,主要有个3个非常重要的信息。 调用的远程method名字,一般就是一个函数名 call参数,也就是发送给服务器的数据 客户端生成的调用请求seq 除了最后一点,其他两点显然就是组成一个普通的函数调用而已,这也就是远程过程调用了。最后一点的s...阅读全文

博文 2014-11-08 12:49:15 skoo

Go语言资源自动回收技术

Go语言作为一个现代化的编程语言以及支持垃圾内存的自动回收特性(GC). 我们现在关注的是非内存资源的自动回收技术. 局部资源的管理 在讨论Go语言解决方案之前, 我们先看看C++是怎么管理资源的. C++中可以可以自动执行的代码主要是构造函数和析构函数. 因此, 很多资源的管理技术都是基于构造函数和析构函数实现. 比较常见的是C++的RAII(Resource Acquisition Is Initialization)技术, 即初始化中获取资源. 比如在多线程编程中用到的MutexLocker: struct MutexLock { Mutex *const mu_; MutexLock(Mutex *mu): mu_(mu) { mu_->Lock(); } ~MutexLock() ...阅读全文

博文 2015-05-18 12:37:14 chai2010

go语言中interface实现泛型编程

package main import ( “fmt” “reflect”) type GenericSlice struct { elemType reflect.Type sliceValue reflect.Value} func (self *GenericSlice) Init(sample interface{}) { value := reflect.ValueOf(sample) self.sliceValue = reflect.MakeSlice(value.Type(), 0, 0) self.elemType = reflect.TypeOf(sample).Elem()} func (self *GenericSlice) Append(e interface{})...阅读全文

博文 2015-07-03 16:00:01 webyh

cgo的一些经验

cgo可以在go语言中夹杂着C函数或数据,在使用cgo时,有一些需要注意的: 1、go中的int/int32/int64/uint32/uint64和C语言中的int/int32等是不同的,因此,C语言的函数的参数不能是go语言的int,需要转换,同理,go函数的int也不能使用C的int,需要转换。 go int转换为C int的方法: C.int(n) 还有一点,C的函数调用中,有很多参数是size_t类型,其实就是一个整型,但如果使用C.int()作为C函数的参数,就会编译出错: cannot use _Ctype_int(100) (type C.int) as type C.size_t in function argument go编译器严格限制参数类型必须一致,因此必须是siz...阅读全文

博文 2015-10-14 15:04:09 铁哥

系统级编程语言性能大PK的笑话-Go语言

喜欢和不喜欢Go语言的都喜欢拿性能PK说事. 流传比较广的是benchmarksgame的PK数据: http://benchmarksgame.alioth.debian.org/u64q/go.php 在 benchmarksgame 测试中, Go语言的性能已经由之前的很烂到现在和C语言持平或2倍差距之内, 当然还有 3个测试性能差距比较大. 具体的原因我就不细说了, 可以参考我另一个文章: Go1.1性能测试报告(和C差距在10%以内) . 当然, 很多Go语言黑是从来不相信Go语言的性能的, 特别是不相信和C差距在10%以内的说法. 不过在这个老外的最新测试结果中, Go的性能又超出了GCC的性能(GCC比clang有一些差距). 最近, 有另一个外国的博客评测了各种系统级编程语言...阅读全文

博文 2015-05-08 11:34:34 chai2010

Go 1.4 Beta 1 发布

Go 1.4 Beta 1 发布,此版本是 Go 1.4 的 beta 版本,现已提供下载,反馈bug请前往这里。 此版本仅包括一个小的编程语言修改;对编译器做了重大修改,向后兼容 for-range loop 形式。此版本关键点在实现功能,改进垃圾收集器和为下个版本完整的收集器打好基础。 此版本还添加了新的工具,支持使用 go 命令生成构建时源代码。此版本支持 Android 和 Native Client(NaCl)的 ARM 处理器和 Plan 9 的 AMD64。 Go 1.4 最终版本计划在 2014 年 12 月 1 日发布,更多更新内容请看发行说明...阅读全文

博文 2014-11-01 01:00:01 mengyidan1988

Go+Web前端全栈班

不忘初心,砥砺前行 朋友们、同学们, 大家好.。江哥创业了, 希望得到大家一如既往的支持, 谢谢! 指趣学院是江哥和一群志同道合的朋友共同创建的“在线IT创新教育平台“,核心成员大部分来自国内外一线企业及学术研究机构。希望通过一线开发工程师和优秀讲师共同研发课程的方式, 给学习者带来持续且美好的改变,为学员提供一个终身在线学习平台,以敏捷的速度和锐利的视角将一线企业前沿应用技术转化为课程;通过在线教育的形式,让更多热爱IT学习的人,可以学到更多、更专业的IT技能;也希望能充分发挥网络的优势,促进解决当下教育资源分布不均的问题。 除此之外, 指趣学院还希望身体力行, 积极投身教育公益事业, 每个班级、每套视频均会给予1-2个免费名额奖励那些家庭困难,但仍坚持学习、努力实现梦想的学员。 指趣学院...阅读全文

博文 2018-08-11 18:35:00 极客江南

notepad++支持go语言高亮与go语言插件

一、notepad++安装go语言插件 notepad++是十分流行的文本编辑器,而它拥有强大的功能,比如它可以支持go语言。当然这需要go语言相应的插件。 打开notepad++后,选择插件选项,在插件下选Plugin Manager-->Show Plugin Manager-->在Plugin中选择GOnpp选Install; 二、notepad++支持go语言高亮 1.在Go的安装目录下,找到misc文件夹,打开notepadplus文件夹,编辑userDefineLang.xml文件,将文件中的的注释去掉,注意是去掉注释,不是把它俩去掉。 2.将该目录(misc/notepadplus)下的go.xml复制到notepad++...阅读全文

Go语言基础入门--if,for,range,switch

流程控制 这节主要记录的是编程语言中处理逻辑结构的流程控制 基本上流程控制语句启3个作用: 选择,根据条件跳转到不同执行序列 循环,反复执行某个序列 跳转,根据条件返回到某执行序列 Go语言支持如下的几种流程控制语句:  条件语句,对应的关键字为if、 else和else if;  选择语句,对应的关键字为switch、 case和select(将在介绍channel的时候细说);  循环语句,对应的关键字为for和range;  跳转语句,对应的关键字为goto。 Go语言还添加了关键字:break, continue, fallthrough。我们在实际开发中要灵活运用这些关键字以增加代码的健壮性 if...else if...else if a < 5 { return 0 }...阅读全文

博文 2015-04-22 15:00:24 chenqijing2

IT大咖李南江和志同道合的朋友创业了!

最近了解到IT大咖江哥和志同道合的朋友创业了,江哥不忘初心,砥砺前行,从事教育行业多年,一直以学员为重,只要对学员好的,江哥都大胆尝试。为了让更多的人学习到优质的知识,通过自己的努力找到一份好的工作,江哥一直坚持着。我们了解到江哥近年来一直在网易云更新优质教学视频,得到广大学员的好评。我们也了解到江哥追求高质量的教学,首期找的人并不多,我们从江哥哪里了解到本次江哥全程讲授。 不忘初心,砥砺前行 朋友们、同学们, 大家好.。江哥创业了, 希望得到大家一如既往的支持, 谢谢! 指趣学院是江哥和一群志同道合的朋友共同创建的“在线IT创新教育平台“,核心成员大部分来自国内外一线企业及学术研究机构。希望通过一线开发工程师和优秀讲师共同研发课程的方式, 给学习者带来持续且美好的改变,为学员提供一个终身在...阅读全文

博文 2018-08-11 20:34:59 极客情缘

go web 编程

最近,在网上出现了一本名为《Go Web编程》的书籍,里面详细地讲述了使用Go语言进行Web编程的各个方面。很特别的是,这本书是在GitHub上以开源的方式撰写的。日前,InfoQ采访了这本书的作者谢孟军先生,请他来和大家谈谈Go语言以及他撰写的开源书籍。 InfoQ:请您先简单和大家介绍一下自己。 谢孟军:大家好,我叫谢孟军,可以叫我Asta,目前就职于盛大云,负责盛大云分发产品的研发。云分发就是我们平常所谓的CDN系统。 InfoQ:是什么原因促使您撰写《Go Web编程》这本书呢? 谢孟军:我以前主要从事PHP、Python等Web方面的开发,后来到了盛大云之后接触比较多C++等底层的东西,就想学习一下这些底层的技术。再后来看到许式伟的博客,了解到Go语言。Go出自B语言的作者和Uni...阅读全文

博文 2014-10-04 19:26:48 descusr