Go language provides inbuilt support implementation of run-time reflection and allowing a program to manipulate objects with arbitrary types with the help of reflect package. The reflect.AppendSlice() Function in Golang is used to appends a slice t to a slice s. To access this function, one needs to imports the reflect package in the program.
Syntax:
func AppendSlice(s, t Value) ValueParameters: This function takes the following parameters:
- s: This parameter is the slice.
- t: This parameter is also an another slice.
Return Value: This function returns the resulting slice.
Below examples illustrate the use of above method in Golang:
Example 1:
// Golang program to illustrate // reflect.AppendSlice() Function package main import ( "fmt"
"reflect"
) // Main function func main() { val1:= reflect.ValueOf([] int {1, 2, 3, 4, 5})
val2:= reflect.ValueOf([] int {11, 12, 13, 14, 15})
fmt.Println( "First Slice :" , val1)
fmt.Println( "Second Slice :" , val1)
val1 = reflect.AppendSlice(val1, val2)
fmt.Println( "Resultant Slice :" , val1)
} |
Output:
First Slice : [1 2 3 4 5] Second Slice : [1 2 3 4 5] Resultant Slice : [1 2 3 4 5 11 12 13 14 15]
Example 2:
// Golang program to illustrate // reflect.AppendSlice() Function package main import ( "fmt"
"reflect"
) // Main function func main() { var str []string
var v reflect.Value = reflect.ValueOf(&str)
v = v.Elem()
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" ))
x:= []string{ "m" , "p" , "s" }
fmt.Println( "First Slice :" , v)
fmt.Println( "Second Slice :" , x)
v = reflect.AppendSlice(v, reflect.ValueOf(x))
fmt.Println( "Resultant Slice :" , v)
} |
Output:
First Slice : [a b c j, k, l] Second Slice : [m p s] Resultant Slice : [a b c j, k, l m p s]
Article Tags :