Go语言中append函数用法分析_Golang

本文实例分析了Go语言中append函数用法。分享给大家供大家参考。具体如下:

Go语言中append的功能十分强大,使用它可以使很多功能的实现变得更加简洁。以下为简单对比:

.将一个slice插入到另一个slice的指定位置:

不使用append:

复制代码 代码如下:

func insertSliceAtIndex(slice_origin []int, slice_to_insert []int, 
    insertIndex int) (result []int, err error) { 
    if insertIndex > len(slice_origin) { 
        return nil, errors.New("insertIndex不能大于slice_origin的长度") 
    } 
 
    result = make([]int, len(slice_origin)+len(slice_to_insert)) 
    for i := 0; i < len(result); i++ { 
        if i < insertIndex { //插入点之间 
            result[i] = slice_origin[i] 
        } else if i < insertIndex+len(slice_to_insert) { //插入内容 
            result[i] = slice_to_insert[i-insertIndex] 
        } else { 
            result[i] = slice_origin[i-len(slice_to_insert)] 
        } 
    } 
    return 
}

使用append时,代码将十分简洁:

复制代码 代码如下:

d := []string{"Welcome", "for", "Tianjin", "Have", "a", "good", "journey"} 
    insertSlice := []string{"It", "is", "a", "big", "city"} 
    insertSliceIndex := 3 
    d = append(d[:insertSliceIndex], 
        append(insertSlice, d[insertSliceIndex:]...)...) 
    fmt.Printf("result:%v\n", d)

希望本文所述对大家的Go语言程序设计有所帮助。

时间: 2024-12-02 09:23:33

Go语言中append函数用法分析_Golang的相关文章

C语言中qsort函数用法实例小结_C 语言

本文实例汇总了C语言中qsort函数的常见用法,非常具有实用价值.分享给大家供大家参考.具体分析如下: C语言中的qsort函数包含在<stdlib.h>的头文件里,本文中排序都是采用的从小到大排序. 一.对int类型数组排序 int num[100]; int cmp ( const void *a , const void *b ) { return *(int *)a - *(int *)b; } qsort(num,100,sizeof(num[0]),cmp); 二.对char类型数

Go语言中Select语句用法实例_Golang

本文实例讲述了Go语言中Select语句用法.分享给大家供大家参考.具体分析如下: select 语句使得一个 goroutine 在多个通讯操作上等待. select 会阻塞,直到条件分支中的某个可以继续执行,这时就会执行那个条件分支.当多个都准备好的时候,会随机选择一个. 复制代码 代码如下: package main import "fmt" func fibonacci(c, quit chan int) {         x, y := 1, 1         for {

go语言中if语句用法实例_Golang

本文实例讲述了go语言中if语句用法.分享给大家供大家参考.具体分析如下: if 语句看起来跟 C 或者 Java 中的一样,除了没有了 ( ) 之外(甚至强制不能使用它们),而 { } 是必须的. 复制代码 代码如下: package main import (     "fmt"     "math" ) func sqrt(x float64) string {     if x < 0 {         return sqrt(-x) + "

Go语言里的new函数用法分析_Golang

本文实例讲述了Go语言里的new函数用法.分享给大家供大家参考.具体如下: 表达式 new(T) 分配了一个零初始化的 T 值,并返回指向它的指针. var t *T = new(T) 或 t := new(T) 代码如下: 复制代码 代码如下: package main import "fmt" type Vertex struct {     X, Y int } func main() {     v := new(Vertex)     fmt.Println(v)     v

Go语言中的switch用法实例分析_Golang

本文实例讲述了Go语言中的switch用法.分享给大家供大家参考.具体分析如下: 这里你可能已经猜到 switch 可能的形式了. case 体会自动终止,除非用 fallthrough 语句作为结尾. 复制代码 代码如下: package main import (  "fmt"  "runtime" ) func main() {  fmt.Print("Go runs on ")  switch os := runtime.GOOS; os

Go语言中slice的用法实例分析_Golang

本文实例讲述了Go语言中slice的用法.分享给大家供大家参考.具体如下: slice 指向数组的值,并且同时包含了长度信息. []T 是一个元素类型为 T 的 slice. 复制代码 代码如下: package main import "fmt" func main() {  p := []int{2, 3, 5, 7, 11, 13}  fmt.Println("p ==", p)  for i := 0; i < len(p); i++ {   fmt.

Go语言中的range用法实例分析_Golang

本文实例讲述了Go语言中的range用法.分享给大家供大家参考.具体如下: for 循环的 range 格式可以对 slice 或者 map 进行迭代循环. 复制代码 代码如下: package main import "fmt" var pow = []int{1, 2, 4, 8, 16, 32, 64, 128} func main() {     for i, v := range pow {         fmt.Printf("2**%d = %d\n"

C语言中sscanf 的用法

以下是对C语言中sscanf函数的使用方法进行了详细的分析介绍,需要的朋友参考下   名称:sscanf() - 从一个字符串中读进与指定格式相符的数据. 复制代码 代码如下: 函数原型:Int  sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明:sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为

详解C语言中scanf函数使用的一些注意点_C 语言

 (一)基本介绍 Scanf是系统自带的函数,声明包含在stdio.h文件中,因此要是有该函数,必须加载#include<stdio.h>头文件.当执行到scanf函数时,程序就暂停等待用户输入,该函数只接受变量的地址,格式为&变量名.是一个阻塞式的函数,2用户输入完毕后,则将值赋值给变量,至此函数调用完毕.敲回车键告知计算机键入完毕. (二)使用注意 ①. 使用scanf函数输入一个字符变量.Char a; scanf("%c",&a); ②. 同时输入多