1 数组类型
1)创建数组array
创建数组时候,必须定义数组长度。
数组不能改变长度。
数组元素默认初始化为0.
var 数组变量 [N]类型
var arr [10]int
arr := [10]int{1,2,3} //创建数组并初始化部分元素
arr := [...]int{1,2,3} //根据初始化元素个数创建数组
2)创建二位数组
声明了一个二维数组,该数组以两个数组作为元素,其中每个数组中又有4个int类型的元素
doubleArray := [2][4]int{[4]int{1, 2, 3, 4}, [4]int{5, 6, 7, 8}}
easyArray := [2][4]int{{1, 2, 3, 4}, {5, 6, 7, 8}} //内外类型一样,二维数组可省略内部类型
3)数组作为参数
数组作为参数,传输的是拷贝而不是指针。
数组做参数时, 需要被检查长度。
比如 fun test_array(args [4]int){
argsp[1] = 10
}
4)数组指针
可以⽤ new() 创建数组,返回数组指针
var a = new([10]int)
2 字符串类型
字符串是用一对双引号""或反引号(``)括起来定义,它的类型是`string`。
例如
var str string
str="hello world"
str=`hello world` //``默认不进行转义,可使用跨行格式。
1)go中字符串面值是不可变的。
不能直接修改字符串中的字符。可以转为[]byte修改,然后转换回string。字符串默认值为"".
2)编码方式
string里面的字符采用utf-8编码,每个字符长度是不确定的,可能为1-4个字节存储。(英文是一个字节)
3)字符串元素
可以使用str[3]或访问某个字节。但是不能访问元素指针,非法的&str[3]。
4)字符串切片
字符串可以进行切片操作
比如str[3:8],可以截取3,8之间的字符串值。返回一个子串,而不是slice。
5)字符串转换。
字符串和字节数组可以相互进行显式转换。
var str string = "abc";
charray := []byte(string );
charray[1] = d;
str:= string(charray);
6)字符串拼接
1 普通拼接
+ 拼接
2 使用buffer拼接
sb:=bytes.Buffer{}
sb.write("hello");
sb.write("world");
str:= sb.String();
7)字符串操作方法
strings.Join([]string{"a","b","c"},",") 组合字符串,使用,
8)字符串转为数字
strconv.FormatFloat(10.100,'f',-1,32) 将数字转为字符串
strconv.ParseInt(s string, base int, bitSize int) 字符串转为数字
1)创建数组array
创建数组时候,必须定义数组长度。
数组不能改变长度。
数组元素默认初始化为0.
var 数组变量 [N]类型
var arr [10]int
arr := [10]int{1,2,3} //创建数组并初始化部分元素
arr := [...]int{1,2,3} //根据初始化元素个数创建数组
2)创建二位数组
声明了一个二维数组,该数组以两个数组作为元素,其中每个数组中又有4个int类型的元素
doubleArray := [2][4]int{[4]int{1, 2, 3, 4}, [4]int{5, 6, 7, 8}}
easyArray := [2][4]int{{1, 2, 3, 4}, {5, 6, 7, 8}} //内外类型一样,二维数组可省略内部类型
3)数组作为参数
数组作为参数,传输的是拷贝而不是指针。
数组做参数时, 需要被检查长度。
比如 fun test_array(args [4]int){
argsp[1] = 10
}
4)数组指针
可以⽤ new() 创建数组,返回数组指针
var a = new([10]int)
2 字符串类型
字符串是用一对双引号""或反引号(``)括起来定义,它的类型是`string`。
例如
var str string
str="hello world"
str=`hello world` //``默认不进行转义,可使用跨行格式。
1)go中字符串面值是不可变的。
不能直接修改字符串中的字符。可以转为[]byte修改,然后转换回string。字符串默认值为"".
2)编码方式
string里面的字符采用utf-8编码,每个字符长度是不确定的,可能为1-4个字节存储。(英文是一个字节)
3)字符串元素
可以使用str[3]或访问某个字节。但是不能访问元素指针,非法的&str[3]。
4)字符串切片
字符串可以进行切片操作
比如str[3:8],可以截取3,8之间的字符串值。返回一个子串,而不是slice。
5)字符串转换。
字符串和字节数组可以相互进行显式转换。
var str string = "abc";
charray := []byte(string );
charray[1] = d;
str:= string(charray);
6)字符串拼接
1 普通拼接
+ 拼接
2 使用buffer拼接
sb:=bytes.Buffer{}
sb.write("hello");
sb.write("world");
str:= sb.String();
7)字符串操作方法
strings.Join([]string{"a","b","c"},",") 组合字符串,使用,
8)字符串转为数字
strconv.FormatFloat(10.100,'f',-1,32) 将数字转为字符串
strconv.ParseInt(s string, base int, bitSize int) 字符串转为数字
有疑问加站长微信联系(非本文作者)