摘要:
该函数主要是切片(slice)的拷贝,不支持数组 将第二个slice里的元素拷贝到第一个slice里,拷贝的长度为两个slice中长度较小的长度值 示例: s := []int{1,2,3} fmt.Println(s) //[1 2 3] copy(s,[]int{4,5,6,7,8,9}) fm 阅读全文
摘要:
前面提到不少Go的内建函数,这篇文章学习下如何使用。。 make 先拿 make 开刀,可是一开始我就进入了误区,因为我想先找到他的源码,先是发现 src/builtin/builtin.go 中有func make(Type, size IntegerType) Type ,可是这里只有两个参数, 阅读全文
摘要:
0)变量声明 var 变量名字 类型 = 表达式 例: 其中“类型”或“= 表达式”两个部分可以省略其中的一个。 1)根据初始化表达式来推导类型信息 2)默认值初始化为0。 例: 1)整型 1.1)整型类型 rune 类型是 Unicode 字符类型,和 int32 类型等价,通常用于表示一个 Un 阅读全文
摘要:
range是go语言系统定义的一个函数。 函数的含义是在一个数组中遍历每一个值,返回该值的下标值和此处的实际值。 假如说a[0]=10,则遍历到a[0]的时候返回值为0,10两个值。 下面是一个例子:这个例子是求一个数组里面的平均值。 package main import ( "fmt" ) fu 阅读全文
摘要:
Go基础 Go基础 switch sExpr { case expr1: some instructions case expr2: some other instructions case expr3: some other instructions default: other code } s 阅读全文
摘要:
概述 Go 语言中的 new 和 make 一直是新手比较容易混淆的东西,咋一看很相似。不过解释两者之间的不同也非常容易。 new 的主要特性 首先 new 是内建函数,你可以从 http://golang.org/pkg/builtin/#new 这儿看到它,它的定义也很简单: 复制代码代码如下: 阅读全文
摘要:
import "fmt" type Rank int const ( Rank001 Rank = iota Rank002 Rank003 Rank004 ) var rewards = [...]string{ "奖励1","奖励2","奖励3","奖励4", } func (r Rank) g 阅读全文
摘要:
golang 的 select 的功能和 select, poll, epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作。 示例: ch1 := make (chan int, 1) ch2 := make (chan int, 1) ... select { case 阅读全文
摘要:
Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用异常,甚至一个小小的错误都抛出一个异常。在Go语言中,使用多值返回来返回错误。不要用异常代替错误,更不要用 阅读全文