小编Dan*_*e D的帖子

使用Go中的反射来获取结构的名称

我发现这个问题有这个很好的答案:

如何在Golang中找到一个对象的类型?

我玩弄了答案并尝试以相同的方式获取结构的名称:

package main

import (
        "fmt"
        "reflect"
)

type Ab struct {

}

func getType(myvar interface{}) string {
        return reflect.TypeOf(myvar).Name()
}

func main() {
        fmt.Println("Hello, playground")

        tst := "string"
        tst2 := 10
        tst3 := 1.2
        tst4 := new(Ab)

        fmt.Println(getType(tst))
        fmt.Println(getType(tst2))
        fmt.Println(getType(tst3))
        fmt.Println(getType(tst4))

}
Run Code Online (Sandbox Code Playgroud)

去游乐场:http://play.golang.org/p/tD8mygvETH

但输出是:

Hello, playground
string
int
float64


Program exited.
Run Code Online (Sandbox Code Playgroud)

预期产出将是:

Hello, playground
string
int
float64
Ab

Program exited.
Run Code Online (Sandbox Code Playgroud)

我试着通过阅读文档来弄清楚,但没有找到相关的问题.所以,对于非常普遍的问题感到抱歉,但是:

是什么原因,reflect.TypeOf().Name()不适用于(this)struct(s)?

reflection struct types go

20
推荐指数
2
解决办法
2万
查看次数

查找所有以@开头且包含除正则表达式中的空格之外的所有字符的单词

标题说明了一切.

这就是我所拥有的:

preg_match_all("/@[\w_.]+/",$text_tbh, $matches);
Run Code Online (Sandbox Code Playgroud)

但这不包括带有特殊字符的单词.

谢谢

php regex

0
推荐指数
1
解决办法
61
查看次数

标签 统计

go ×1

php ×1

reflection ×1

regex ×1

struct ×1

types ×1