zoukankan      html  css  js  c++  java
  • Go语言Slice操作.

    1、基本使用方法: 
        a = append(a, b...)
        比如:list = appened(list,[]int{1,2,3,4}...)
        能够用来合并两个列表. 不用这样了 :list := make([]int,len(list1)+len(list2)) 然后再copy(list,list1) copy(list[len(list1):],list2)
    2、Copy:
        b = make([]T, len(a)) copy(b, a)
    或者:
        b = append([]T(nil), a...)
    3、Cut:
        a = append(a[:i], a[j:]...)
    4、Delete:
        a = append(a[:i], a[i+1:]...)
        或者: a = a[:i+copy(a[i:], a[i+1:])]
        比如:a[len(a)-1], a = nil, append(a[:i], a[i+1:]...)
    5、Delete without preserving order: 
        a[i], a = a[len(a)-1], a[:len(a)-1]
        比如: a[i], a[len(a)-1], a = a[len(a)-1], nil, a[:len(a)-1]
    6、Expand: 
        a = append(a[:i], append(make([]T, j), a[i:]...)...)
    7、Extend: 
        a = append(a, make([]T, j)...)
    8、Insert:
        a = append(a[:i], append([]T{x}, a[i:]...)...)
        比如: s = append(s, 0) copy(s[i+1:], s[i:]) s[i] = x
    9、InsertVector:
        a = append(a[:i], append(b, a[i:]...)...)
    10、Pop
        x, a = a[len(a)-1], a[:len(a)-1]
    11、Push:
        a = append(a, x)
    12、Shift 
        x, a := a[0], a[1:]
    13、Unshift
        a = append([]T{x}, a...)
    14、Reversing: 
        for i := len(a)/2-1; i >= 0; i-- { 
           opp := len(a)-1-i a[i], a[opp] = a[opp], a[i]
        }

  • 相关阅读:
    设计模式之工厂模式
    面向对象的五大原则
    抽象类和接口、类库
    静态
    面向对象三大特性
    JVM(Java虚拟机)优化大全和案例实战
    Java调用Lua脚本(LuaJava使用、安装及Linux安装编译)
    Java调用.dll文件
    linux yum命令详解
    linux nohup命令
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7060438.html
Copyright © 2011-2022 走看看