随笔分类 -  GoLang

Go Lang
摘要:在笔记本中写了一个简易web程序,但是编译失败,提示“syntax error: nested func not allowed” 。不明白什么意思,幸好代码量小,原来是方法的末尾的“}”丢了!package mainimport "fmt"import "net/http"func main() ... 阅读全文
posted @ 2015-07-17 17:33 老虞 阅读(1177) 评论(0) 推荐(0) 编辑
摘要:【功能】 按指定的目录查找出文件,如果有子目录,子目录也将进行搜索,将其中的文件内容进行替换。【缺陷】 1. 没有过滤出文本文件 2. 当文件过大时,效率不高【代码】package mainimport ( "flag" "fmt" "io/ioutil" "os" "path/filepat... 阅读全文
posted @ 2014-07-20 10:02 老虞 阅读(4608) 评论(0) 推荐(0) 编辑
摘要:不可或缺的函数,在Go中定义函数的方式如下:func (p myType ) funcName ( a, b int , c string ) ( r , s int ) { return}通过函数定义,我们可以看到Go中函数和其他语言中的共性和特性共性关键字——func方法名——funcName入参——— a,b int,b string返回值—— r,s int函数体—— {}特性Go中函数的特性是非常酷的,给我们带来不一样的编程体验。为特定类型定义函数,即为类型对象定义方法在Go中通过给函数标明所属类型,来给该类型定义方法,上面的 p myType 即表示给myType声明了一个方... 阅读全文
posted @ 2013-06-04 08:57 老虞 阅读(28792) 评论(0) 推荐(3) 编辑
摘要:Go中的控制语句较精简,仅有if、for、select和switch。但使用时均比较灵活if在Go中条件语句*if*中如果条件部分的计算结果为**true**时将执行语句块,否则则执行else语句块(如果存在else时),此逻辑和其他语言中的if一样,但是在Go中还是有一些不同之处。if条件表达式不能使用花括号**()**包含if语句代码段必须使用**{}**,并且左括号必须和if在同一行if条件表达式的前面可以包含初始化语句,支持平行赋值,但不支持多个赋值语句赋值+条件判断if a, b := 21, 3; a > b { fmt.Println("a>b ? true 阅读全文
posted @ 2013-06-01 11:27 老虞 阅读(49974) 评论(0) 推荐(1) 编辑
摘要:数组 Arrays数组是内置(build-in)类型,是一组同类型数据的集合,它是值类型,通过从0开始的下标索引访问元素值。在初始化后长度是固定的,无法修改其长度。当作为方法的入参传入时将复制一份数组而不是引用同一指针。数组的长度也是其类型的一部分,通过内置函数len(array)获取其长度。初始化数组的初始化有多种形式,查看示例代码 , 在线运行示例代码 [5] int {1,2,3,4,5} 长度为5的数组,其元素值依次为:1,2,3,4,5[5] int {1,2} 长度为5的数组,其元素值依次为:1,2,0,0,0 。在初始化时没有指定初值的元素将会赋值为其元素类型int的默认值0,s 阅读全文
posted @ 2013-04-25 09:13 老虞 阅读(113694) 评论(3) 推荐(3) 编辑
摘要:常量常量和C#中的概念相同,在编译期被创建。因为在编译期必须确定其值,因此在声明常量时有一些限制。其类型必须是:数值、字符串、布尔值表达式必须是在编译期可计算的声明常量的同时必须进行初始化,其值不可再次修改Dochttp://golang.org/doc/go_spec.html#Constantshttp://golang.org/doc/go_spec.html#Constant_expressionshttp://golang.org/doc/go_spec.html#Constant_declarationshttp://golang.org//doc/go_spec.html#Iot 阅读全文
posted @ 2013-04-15 21:29 老虞 阅读(22336) 评论(0) 推荐(1) 编辑
摘要:变量声明官方DOC:http://golang.org//spec#Variable_declarationsGo中使用全新的关键字var来声明变量。var我们并不陌生,在Javascript 和C#中均有出现。不同的是Go和C#中变量属于强类型,在声明变量后就不允许改变其数据类型。声明变量有多种形态:var a int //声明一个int类型的变量var b struct { //声明一个结构体name string}var a = 8 //声明变量的同时赋值,编译器自动推导其数据类型var a int = 8 //声明变量的同时赋值var { //批量声明变量,简洁a intb strin 阅读全文
posted @ 2013-04-13 10:39 老虞 阅读(37480) 评论(7) 推荐(0) 编辑
摘要:开始一项新语言前需要先了解该语言的语法(如果你有其他语言的编程知识的话),开始学习前,我们一起了解下Go的格式。 如果大家都统一编码风格,那么在维护他人代码时就能带来便利。同时我们在提交代码前执行一次fmt命令,以便提交统一风格的代码。 注释Go支持C语言风格的“//”块注释,也支持C++风格的行注释,同时可使用/**/进行包的 注释. 我们看string包的源代码,使用//注释了包,方法以及行。我们需要养成好的习惯,尽量去多写些注释,这样不但有利于自己以后的回顾,已给他人阅读你的代码提供了方便,当然Go下的源代码使用Go命令能够生成文档,而文档的描述内容源自注释,在编码阶段就同步... 阅读全文
posted @ 2013-04-09 20:58 老虞 阅读(6080) 评论(4) 推荐(0) 编辑
摘要:前言 2009年开始接触软件开发,一直深爱着它,喜爱淘腾些新技术新技能,却至今没有所成。也许专心才能做好一些事,2013年初接触Go Lang,感受着这门语言带来的魅力,自己该在这条路上留下足迹,以此见证自己的成长历程。为什么会学习GoLang编程本身是一门艺术,Go Lang 有着无尽想象的魅力。 Gmail, Google Search, Google Translate,YouTube 这些已成为我生活工作不可缺少的一部分,足够证明Google的产品是优秀的,同样Go Lang也是优秀的,事实证明确实如此。 Go Lang是开源项目,它的社区时活跃的,它的创造者是行业Big牛。 Go.. 阅读全文
posted @ 2013-04-07 20:41 老虞 阅读(6920) 评论(1) 推荐(2) 编辑