Golang reflect.ArrayOf()函数的使用示例

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]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程