Golang reflect.ArrayOf()函数的使用示例
Go语言提供了内置支持的运行时反射实现,允许程序使用reflect包操作任意类型对象。Golang中的 reflect.ArrayOf() 函数用于获取具有给定计数和元素类型的数组类型,即如果x表示int,则ArrayOf(10, x)表示[10]int。要访问此函数,需要在程序中导入reflect包。
语法:
func ArrayOf(count int, elem Type) Type
参数: 此函数接受两个int类型(count)和Type类型(elem)的参数。
返回值: 此函数返回具有给定计数和元素类型的数组类型。
下面的示例说明了在Golang中使用上述方法的方法:
示例1:
// Golang program to illustrate
// reflect.ArrayOf() Function
package main
import (
"fmt"
"reflect"
)
// Main function
func main() {
// use of ArrayOf method
ta := reflect.ArrayOf(5, reflect.TypeOf(123))
fmt.Println(ta)
}
输出:
[5]int
示例2:
// Golang program to illustrate
// reflect.ArrayOf() Function
package main
import (
"fmt"
"reflect"
)
// Main function
func main() {
t := reflect.TypeOf(5)
// use of ArrayOf method
arr := reflect.ArrayOf(4, t)
inst := reflect.New(arr).Interface().(*[4]int)
for i := 1; i <= 4; i++ {
inst[i-1] = i*i
}
fmt.Println(inst)
}
输出:
&[1 4 9 16]
极客教程