go语言常用函数

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

  • append

  append:在切片末尾添加元素并返回结果。append函数原型:func append(slice []T, elements...T) 。其中T表示任意类型。

  示例1:

1     arr1 := []int{1, 2, 3}
2     arr2 := append(arr1, 4, 5, 6)
3     fmt.Println(arr2) // 输出:1,2,3,4,5,6

  append不仅能在切片末尾添加普通元素,还能在切片末尾添加切片。

1     arr1 := []int{1, 2, 3}
2     arr2 := []int{4, 5, 6}
3     arr3 := append(arr1, arr2...) // 此处必须要有 ... 否则编译器会报类型错误
4     fmt.Println(arr3) // 输出:1,2,3,4,5,6
  • copy

   copy:用于从一个数组切片复制到另一个数组切片。如果加入的两个数组切片不一样大,就会按其中较小的那个数组切片的元素个数进行复制。下面的示例展示了copy()函数的行为:

  slice1 := []int{1, 2, 3, 4, 5}
  slice2 := []int{5, 4, 3}
  copy(slice2, slice1) // 只会复制slice1的前3个元素到slice2中  结果:slice2=1,2,3
  copy(slice1, slice2) // 只会复制slice2的3个元素到slice1的前3个位置

  个人疑问:既然copy能复制数组切片,那么能否复制数组呢?

  疑问解答:通过实践测试,copy不能复制数组。编译时报错:arguments to copy must be slices;

  • range

  range:其含义是在一个数组中遍历每一个值,返回该值的下标值和此处的实际值。

1 func main() {
2     array := [5]int{1, 2, 3, 4, 5}
3     for i, v := range array {
4         fmt.Println("array[", i, "] = ", v)
5     }
6 }

array[ 0 ] = 1
array[ 1 ] = 2
array[ 2 ] = 3
array[ 3 ] = 4
array[ 4 ] = 5

 


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

本文来自:博客园

感谢作者:hezhixiong

查看原文:go语言常用函数

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

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