Go初体验|基础
字符串GO的字符串有点不一样。它是UTF8字符的一个序列:当字符为一个ASCII码时为一个字节,其他字符则根据需要占用2-4个字节。 该做法的好处是:节省了内存和硬盘的存储空间,同时,不需要像其它语言一样对UTF8字符集的文本进行编码和解码。 GO通过双引号 双引号则会对文本进行解析, 单个字符可以通过 字符串支持 字符串处理相关的包:
值,指针,引用通常情况下,我们可以把一个GO变量当作他的值来使用。 其中有一些例外:通道、函数、方法、映射、切片都使用了 GO中的指针操作符是: & 和 *
package main import ( "fmt" ) func swap1(x,y,p *int){ if *x > *y { *x,*y = *y,*x } *p = *x * *y } func swap2(x,y int)(int,int,int){ if x > y { x,y = y,x } return x,x*y } func main(){ i := 9 j := 5 product := 0 swap1(&i,&j,&product) fmt.Println(i,j,product) a := 63 b := 64 a,b,p := swap2(a,b) fmt.Println(a,p) } 数组GO的数组是一个定长的序列,元素类型相同。通过 构建语法 [length]Type [N]Type{v1,v2,vN} []Type{} 数组的长度是固定,不可修改的。可以通过 数组也有切片操作,也可以通过 切片GO的数组是值传递,而切片是引用传递,因此效率更高。 创建切片 make([]Type,length,capacity) make([]Type,length) []Type{} []Type{v1,vN} 内置函数 当创建一个切片时,首先会创建一个隐藏的初始化为零值的数组,然后返回一个引用该隐藏数组的切片。一个切片的容量(capacity)为隐藏数组的长度。可以通过 未完待续 映射参考
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |