[go语言]数组和字符串

sxt102400 · · 4383 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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)  字符串转为数字

有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:sxt102400

查看原文:[go语言]数组和字符串

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4383 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传