golang中apend_Golang reflect.Append()用法及代码示例

Go语言提供了运行时反射的内置支持实现,并允许程序借助反射包来操纵任意类型的对象。 Golang中的reflect.Append()函数用于将值x追加到切片s上。要访问此功能,需要在程序中导入反射包。

用法:

func Append(s Value, x ...Value) Value

参数:此函数采用以下参数:

s:此参数是要附加值的切片。

x:这些参数是要附加的值。

返回值:此函数返回结果切片。

以下示例说明了以上方法在Golang中的用法:

范例1:

// Golang program to illustrate

// reflect.Append() Function

package main

import (

"fmt"

"reflect"

)

// Main function

func main() {

a:= []int{2, 5}

var b reflect.Value = reflect.ValueOf(&a)

b = b.Elem()

fmt.Println("Slice:", a)

// use of Append method

b = reflect.Append(b, reflect.ValueOf(80))

fmt.Println("Slice after appending data:", b)

}

输出:

Slice:[2 5]

Slice after appending data:[2 5 80]

范例2:

// Golang program to illustrate

// reflect.Append() Function

package main

import (

"fmt"

"reflect"

)

// Main function

func main() {

var str []string

var v reflect.Value = reflect.ValueOf(&str)

v = v.Elem()

// using the function

v = reflect.Append(v, reflect.ValueOf("a"))

v = reflect.Append(v, reflect.ValueOf("b"))

v = reflect.Append(v, reflect.ValueOf("c"), reflect.ValueOf("j, k, l"))

fmt.Println("Our value is a type of:", v.Kind())

vSlice:= v.Slice(0, v.Len())

vSliceElems:= vSlice.Interface()

fmt.Println("With the elements of:", vSliceElems)

}

输出:

Our value is a type of:slice

With the elements of: [a b c j, k, l]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值