E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Golang学习
golang学习
的点点滴滴:接口组合
package main import "fmt" type IReader interface { Read(file string) []byte } type IWriter interface { Write(file string, data []byte) } // 接口组合, 这些默认就继承了Reader和Writer中的抽象方法 type IReadWriter inter
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:类型查询
package main import "fmt" func main() { var i interface {} = 12 switch v := i.(type) { case int : fmt.Println(v, "int 类型") case string : fmt.Println(v, "string 类型") } }
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:接口
package main // 定义一个接口 // 有两个方法 // 注意:方法不能加func type IFile interface { Read(file string) (buf []byte) Write(file string, buf []byte) } type IReader interface { Read(file string) (buf []byte) } typ
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:接口复制和接口查询
package main import "fmt" type IFile interface { Read() Write() } type IReader interface { Read() } type File struct { } func (f *File) Read() { } func (f *File) Write() { } func main() { f
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:struct匿名字段
package main import "fmt" type Base struct { Name string Age int } type Child struct { Base // 匿名字段, 默认把Base的所有字段都继承过来了。 这样看起来才像真正的继承 Age int } func main() { c := new(Child) c.Name = "hello" // 可以
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:匿名字段
定义一个struct,定义的时候是字段名与其类型一一对应,实际上Go语言支持只提供类型,而不写字段名的方式,也就是匿名字段,或称为嵌入字段。当匿名字段是一个struct的时候,那么这个struct所拥有的全部字段都被隐式地引入了当前定义的这个struct。让我们来看一个例子,让上面说的这些更具体化。packagemainimport"fmt" typeHumanstruct{ namestri
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:利用组合实现继承
package main import "fmt" type Base struct { Name string } func (b *Base) SetName(name string) { b.Name = name } func (b *Base) GetName() string { return b.Name } // 组合,实现继承 type Child struct { b
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:读写文件(面向对象版)
package main import ( "fmt" "bufio" "io" "os" "flag" "strconv" ) // 定义一个结构体 type ReadWrite struct { In *string Out *string } // 定义初始化方法 func (rw *ReadWrite) Init() { rw.In = flag.String("in", "in"
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:读写文件(面向过程版)
package main import ( "fmt" "bufio" "io" "os" "flag" "strconv" ) // 使用命令行 -in 默认为infile var in *string = flag.String("in", "infile", "input file name ...") var out *string = flag.String("out", "outf
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:range使用总结
1、当range作用于string时,第一个返回值为index,第二次是char str:="helloworld"forindex,ch:=rangestr{fmt.Printf("%d---%c\n",index,ch)}2、当range作用于array时,第一个返回值为index,第二次是valuefuncPrintArray(array[5]int){forindex,res
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:flag包解析命令行参数
import ( "fmt" "flag" ) func main() { var in *string = flag.String("in", "infile", "input infile...") var out *string = flag.String("out", "outfile", "input outfile...") var op *string = flag.String(
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:异常处理 defer, panic, recover
Go语言追求简洁优雅,所以,Go语言不支持传统的try…catch…finally这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用异常,甚至一个小小的错误都抛出一个异常。在Go语言中,使用多值返回来返回错误。不要用异常代替错误,更不要用来控制流程。在极个别的情况下,也就是说,遇到真正的异常的情况下(比如除数为0了)。才使用Go中引入的Ex
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:指针,地址,形参,实参
学习Go语言的过程中,会发现它的指针,地址,还有函数参数跟平常我们理解的不太一样.上代码:packagemain //学习指针用法 import( "fmt") funcmain(){ variint; //i的类型是int型 varp*int; //p的类型是[int型的指针] i=1; //i的值为1; p=&i; //p的值为[i的地
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:异常机制
func main() { // defer 必须在异常抛出之前 // 下面如果有异常抛出(或人为panic) // 则停止往下执行,跳转到defer后的代码块进行收尾工作 // 即便不会抛出异常,最后也会执行defer后的代码进行收尾 // 用recover处理异常信息,当err为空时,则证明没有任何异常抛出 // 如果不为空,则进行异常处理 defer func() { if err := r
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:闭包
func main() { j := 10 a := func() (func()) { i := 5 return func() { fmt.Println("i = ", i , "j = ", j) } }() a() j++ a() b := func(f func())(func()) { f() return func() { fmt.Println("heihei") } }
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:匿名函数
import ( "fmt" "errors" ) func main() { f := func(a, b int) (res int, err error) { if b < 0 { err = errors.New("err") return } res = a + b return } res, err := f(1, 2) if nil == err { fmt.Println(r
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:可变参数2(interface)
func main() { Print(1, "hello", 55.9) } // 表示可以传任意值 func Print(args ...interface{}) { for _, res := range args { switch res.(type) { case int : fmt.Println(res, " is int") case float64 : fmt.Println(
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:函数的使用
package main import ( "fmt" "errors" ) func main() { res, err := Add(1, 2) if nil == err { fmt.Println(res) } _, e := Add(1, -5) fmt.Println(e) } func Add(a, b int) (res int, err error) { if b <
亓斌哥哥
·
2014-09-29 21:00
Google
Go
golang
golang学习
的点点滴滴:可变参数的使用
func main() { Func1(1,2,3,4) } func Func1(args ...int) { for _, res := range args { fmt.Println(res) } Func2(args...) Func3(args[2:]...) } func Func2(args ...int) { fmt.Println("----") for _, res :
亓斌哥哥
·
2014-09-29 21:00
golang学习
的点点滴滴:for使用
func main() { i := 0 for { i++; if i > 10 { break; } fmt.Println(i) } fmt.Println("-----------") arr := [5]int {1,2,3,4,5} for i, j := 0,len(arr)-1;i
亓斌哥哥
·
2014-09-29 21:00
Google
Go
golang
golang学习
的点点滴滴:if、switch使用
func main() { if a := 0; a==0 { fmt.Println(a) } fmt.Println("-----") b := 0 switch b { case 1 : fmt.Println(1) case 0 : fallthrough case 2 : fmt.Println("heihei") } fmt.Println("-----") switch {
亓斌哥哥
·
2014-09-29 21:00
Google
Go
golang
golang学习
的点点滴滴:map使用
package main import "fmt" type Person struct { ID string Name string Addr string } func main() { var persons map[string] Person = make(map[string] Person) persons["123"] = Person {"123", "heihei",
亓斌哥哥
·
2014-09-29 21:00
Google
go;golang
golang学习
的点点滴滴:数组切片使用
func main() { arr := [10]int {1,2,3,4,5,6,7,8,9,10} var slice1 []int = arr[:5] //取数组前5个 slice2 := arr[5:]//取数组后5个 slice3 := make([]int, 5)//make一个切片,初始化前5个为0 mySlice2 := make([]int,
亓斌哥哥
·
2014-09-29 21:00
Google
Go
golang
golang学习
笔记――――字符串
字符串的创建在golang中 字符串是使用双引号(“”)包裹住的字符序列; 字符是使用单引号(‘’)包裹住的单一字符;声明字符串的方式:varstrvaluestring声明并创建的方式:strvalue:="Thisisastring!";KeyPoint: 一旦字符串变量被初始化后,则不可单独改变该字符串序列中的某一字符;但该字符串变量可以重新被赋值; Ex: str
yzy2012
·
2014-08-20 13:46
字符串
golang
golang学习
笔记――细节注意
1、修改代码后需重新build后运行才能看到修改后的效果,直接运行不会看到修改后的效果,看到的是上一次的结果。。。2、若声明了变量但未使用该变量会报错,程序不会执行该变量之后的代码(因为报错会退出进程)3、不能给某一类型的整形变量赋值其他整形类型4、使用package来命名这个文件的包名称,即packagepackageName,并且该语句只能放在文件中非注释的第一行5、只有package名称为m
yzy2012
·
2014-08-19 22:01
golang
细节
golang学习
笔记――变量
变量:golang中不存在没有初始化的变量数据,整形默认为0,字符型默认为空,指针默认为nil,结构体中的数据也会被初始化。//var str string = "dfdfdf"//var varuint8 uint8 //varuint8 =0 声明一个变量,默认为0 //var str string //str="",默认为空//fmt.Println(var
yzy2012
·
2014-08-19 14:06
golang
golang学习
(一)之安装
golang简介 Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(RobPike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。golang官网http://golang.org/goland安装下载地址:https://code.google.com/p/go/downloads/listPS:安
grassroots2011
·
2014-04-07 23:00
Go
golang
go语言
使用
golang学习
算法(1)-排序
前言终于感觉到算法的重要了。于是打算继续学习下。其实算法跟语言没有啥关系,用啥语言都可以实现关键是思路,最近正好在学习golang。打算把算法的编写使用golang完成。没有使用IDE,使用的是sublime2+golang的插件,然后使用命令行进行编译。开发效率也不低,也支持语言的自动补齐。搭建环境【http://blog.csdn.net/freewebsys/article/details/
freewebsys
·
2014-03-18 09:00
golang
[
GoLang学习
总结]Go语言中的Slice
概念Slice切片是对底层数组Array的封装,在内存中的存储本质就是数组,体现为连续的内存块,Go语言中的数组定义之后,长度就已经固定了,在使用过程中并不能改变其长度,而Slice就可以看做一个长度可变的数组进行使用,最为关键的,是数组在使用的过程中都是值传递,将一个数组赋值给一个新变量或作为方法参数传递时,是将源数组在内存中完全复制了一份,而不是引用源数组在内存中的地址,为了满足内存空间的复用
tiger435
·
2014-03-12 18:00
golang
quanpower的
Golang学习
笔记---1.Linux安装Go,设置环境变量
1.设置Go环境变量我们在Linux系统下一般通过文件$HOME/.bashrc配置自定义环境变量,根据不同的发行版也可能是文件$HOME/.profile,然后使用gedit或vi来编辑文件内容。我是安装包安装的,安装在了/usr/local/goexportGOROOT=/usr/local/go exportGOBIN=$GOROOT/bin exportGOARCH=386 exportG
quanpower
·
2014-01-10 20:00
Linux安装Go
设置环境变量
quanpower的
Golang学习
笔记---2.Sublime Text 2搭建Go开发环境
GO语言吉祥物,很可爱吧。Go语言的helloworld!代码:packagemain import"fmt" funcmain(){ fmt.Println("Hello,世界") } 上一节安装好Go以后,我们就可以搭建开发环境了,这里我用的是SublimeText2+GoSublime+gocode。对于不了解SublimeText2的朋友,可以看看官网:http://www.subl
quanpower
·
2014-01-09 00:00
sublime
text
2搭建Go开发环境
Golang学习
之GOROOT、PATH、GOPATH及go get
1.GOROOTGOPATH及PATH设置a.添加系统变量GOROOT:安装完Go第一件事就是设置GOROOT。例如我的Go安装在C:\Go目录,则要设置GOROOT=C:\Gob.修改环境变量PATH:将%GOROOT%\bin加到环境变量PATH里面,这样就可以直接在dos命令模式下任意目录运行%GOROOT%\bin目录下的程序如:go.exegodoc.exec.添加系统变量GOPATH:
yearnfar
·
2013-12-24 20:00
GoLang学习
基础笔记
1、make()分配:内部函数 make(T, args) 的服务目的和 new(T) 不同,只生成切片,映射和程道,并返回一个初始化的(不是零)的,type T的,不是 *T 的值。这种区分的原因是,这三种类型的数据结构必须在使用前初始化.比如切片是一个三项的描述符,包含数据指针(数组内),长度,和容量;在这些项初始化前,切片为 nil 。对于切片、映射和程道,make初始化内部数据结构,并准备
michael8335
·
2013-11-02 23:00
golang
Golang学习
[函数]
函数的结构如下func(pmytype)funcname(qint)(r,sint){return0,0}函数有很多特点多值返回Go可以返回多值延迟代码在defer后指定函数会在退出的时候调用funcReadWrite()bool{ file.Open("fileName") deferfile.Close() //.... }变参funcmyfunc(arg...int){ }回调funccal
jingmiaowill
·
2013-07-29 16:00
golang
go语言
Golang学习
[基础]
一、HelloWorld首先是HelloWorldpackagemain import"fmt" funcmain(){ fmt.Println("Hell,world!") }编译和运行gobuidhello.go ./hello二、变量,常量1.定义一个变量varaint varbint=10 c:=10//等价于varcint=10还可以var( aint strstring )2.定义一个
jingmiaowill
·
2013-07-29 15:00
Go
golang
golang学习
——第一天
安装完gosdk只用设置环境变量GOPATH环境变量GOPATH为工作目录,可以为多个目录。window用分号隔开,linux用冒号隔开。当有多个GOPATH时,默认会将goget的内容放在第一个目录下GOPATH下有三个子目录:src——存放源代码(.go)pkg——编译后生成的文件(.a)bin——编译后生成的可执行文件(packagemain)应用目录结构自己新建应用或者一个代码包都是在sr
mahuimay
·
2013-07-17 18:00
Go
Golang 学习及使用
Golang学习
及使用@Author:XuanJun(
[email protected]
)@Link:http://blog.csdn.net/idxuanjun@Date:2013-11-23@Version
idxuanjun
·
2013-04-08 23:00
go语言
golang学习
windows下似乎安装很方便,暂时在windows下下载好go后,放到c:/根目录,把c:/go/bin/放到path下即可安装redis,下载好redis-go,放到c:/go/src/pkg下,cd到c:/go/src/pkg/redis/执行goinstall即可安装
damingg
·
2013-02-25 16:00
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他