最近想搞后台开发,于是把注意力转移到了公司用的golang上。用Go做微服务更方便,可能是因为golang强大的语法吧。看到go的语法,就被深深吸引了。一起来感受下Go的风骚编码风格吧。1、魔鬼式变量声明2、数组声明array是一个数组,其定义如下:vararr[n]type[n]type中,n表示数组的长度,type表示存储的类型元素。对数组的操作和其他语言类似,通过[]读取或赋值:vararr[10]int//声明一个int类型的数组arr[0]=42//数组下标从0开始arr[1]=13//赋值操作fmt.Printf("第一个元素是%d\n",arr[0])//获取数据,返回42fmt.Printf("最后一个元素是%d\n",arr[9])//返回最后一个未赋值的元素,默认返回0由于长度也是数组类型的一部分,[3]int和[4]int是不同的类型,数组不能改变长度.数组之间的赋值是值的赋值,即数组作为参数传入函数时,传入的实际上是数组的副本,而不是它的指针。如果要使用指针,则需要使用后面介绍的slice类型。Arrayscanbedeclaredusinganother:=a:=[3]int{1,2,3}//声明一个长度为3的int数组b:=[10]int{1,2,3}//声明一个int长度为10的数组,前三个元素初始化为1,2,3,其他默认为0c:=[...]int{4,5,6}//长度可以省略而使用`...`方法,Go会自动根据元素个数计算长度。3、go语言强大的切片操作golang中的切片非常强大,使得数组操作非常方便高效。开发中所有用变长表示的数组都是切片。但是很多同学对切片的理解比较模糊,导致他们认为golang中的数组就是引用类型。结果在实际开发中遇到了很多坑,以至于出现了一些莫名其妙的问题。数组中的数据丢失了切片的数据结构。很简单,一个指针ptr,指向真正的数组地址,slice的长度len和容量cap。其中len和cap是我们调用len(slice)和cap(slice)返回的值。下面根据slice的数据结构定义来分析ptr,len,cap代码4、map的声明注意因为go语言是强类型语言,hashmap也是有类型的,具体体现在key和map都是value必须指定类型,比如声明一个key为string,value也为string的map,需要在go语言中做枚举5.for循环遍历funcformapTest(){vararrayi=[...]int{1,2,3,4,5,6,7,78,9,10}对于索引,c:=rangearrayi{fmt.Printf("array[%d]=%d",index,c)}str:="Go语言的学习和爸爸"fori,ch:=rangestr{fmt.Println(i,ch)//ch的类型为runeunicode编码}//输出为:28907(Unicode编码,两个字节代表一个字符)n:=len(str)fori:=0;我
