gpt4 book ai didi

pointers - 如何检测接口(interface){}是否为指针?

转载 作者:IT王子 更新时间:2023-10-29 02:26:35 27 4
gpt4 key购买 nike

我想知道你怎么知道接口(interface)是不是指针类型。

package main

import "fmt"
import "reflect"

type str struct {
a, b string
}

func main() {
var s str
x := &s
t := reflect.TypeOf(interface{}(x))
fmt.Printf("%v", t.Size())
}

最佳答案

如果您已经知道类型,请使用类型开关:

switch v.(type) {
case *str:
return "*str"
case str:
return "str"
}

如果你不这样做,那么你可以使用 if reflect.TypeOf(v).Kind() == reflect.Ptr {}

playground

关于pointers - 如何检测接口(interface){}是否为指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33029462/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com