Golang reflect.SliceOf()函数及示例

Golang reflect.SliceOf()函数及示例

Go语言提供内置的支持实现运行时反射,并允许程序使用reflect包操作具有任意类型的对象。Golang中的 reflect.SliceOf() 函数用于获取具有元素类型t的切片类型,即如果t表示int,则SliceOf(t)表示[]int。要访问此函数,需要在程序中导入reflect包。

语法:

func SliceOf(t Type) Type

参数: 此函数仅获取一个Type类型(t)的参数。

返回值: 此函数返回具有元素类型t的切片类型。

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

示例1:

// Golang程序说明
// reflect.SliceOf()函数
   
包package main
   
import (
    "fmt"
    "reflect"
       
)
   
// Main函数   
func main() {
   
    v := reflect.TypeOf("123")
       
    //使用SliceOf方法   
    fmt.Println(reflect.SliceOf(v))
   
} 

输出:

[]string

示例2:

// Golang程序说明
// reflect.SliceOf()函数
  
package main
  
import (
    "fmt"
    "reflect"
      
)
  
// Main函数   
func main() {
  
    ta := reflect.ArrayOf( 10, reflect.TypeOf("123"))
      
    tc := reflect.ChanOf(reflect.SendDir, ta)
      
    tp := reflect.PtrTo(tc)
      
    ts := reflect.SliceOf(tp)
      
    //使用SliceOf方法   
    fmt.Println(ts)
  
} 

输出:

[]*chan<- [10]string

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程