如何在Go中找到对象的类型?在Python中,我只是typeof
用来获取对象的类型。类似地,在Go中,是否有实现相同方法的方法?
这是我要迭代的容器:
for e := dlist.Front(); e != nil; e = e.Next() {
lines := e.Value
fmt.Printf(reflect.TypeOf(lines))
}
在这种情况下,我无法获取对象行的类型,这是字符串数组。
Go反射包提供了检查变量类型的方法。
以下代码段将打印出字符串,整数和浮点数的反射类型。
package main
import (
"fmt"
"reflect"
)
func main() {
tst := "string"
tst2 := 10
tst3 := 1.2
fmt.Println(reflect.TypeOf(tst))
fmt.Println(reflect.TypeOf(tst2))
fmt.Println(reflect.TypeOf(tst3))
}
输出:
Hello, playground
string
int
float64
请参阅:http :
//play.golang.org/p/XQMcUVsOja以查看实际效果。
此处提供更多文档:http :
//golang.org/pkg/reflect/#Type
我无法获得对象行的类型,在本例中,这是一个字符串数组。
问题内容: 当试图理解一个程序时,或者在某些极端情况下,能够真正找出某种类型的东西很有用。我知道调试器可以向您显示一些类型信息,并且您通常可以依靠类型推断来避免在那种情况下不指定类型,但是我仍然很想拥有类似Python的东西 更新: 在Swift的最新版本中对此进行了更改,现在为您提供了对类型的引用,而不是动态类型的实例。 这似乎是最有前途的,但到目前为止我还无法找出实际的类型 我还尝试使用类引用
问题内容: 我希望Selenium通过箭头键浏览菜单-首先单击顶部菜单项,然后按“ DOWN”,“ DOWN”,… 问题是您必须始终提供特定的元素才能将“ DOWN”发送到。 有什么方法可以获取当前元素? 我试过了: 但它表示该表达式无法识别或未返回正确的对象。 我希望我错过了一些愚蠢的把戏。 问题答案: 没有比访问更直接的方法了
问题内容: 我希望Selenium通过箭头键浏览菜单-首先单击顶部菜单项,然后按“ DOWN”,“ DOWN”,… 问题是您必须始终提供特定的元素才能将“ DOWN”发送到。 有什么方法可以获取当前元素? 我试过了: 但它表示该表达式无法识别或未返回正确的对象。 我希望我缺少一些愚蠢的把戏。 问题答案: 不知道比访问更直接的方法 如何测试Selenium RC中关注的元素?
考虑到第一个角的坐标(左上角)和宽度/高度与Rect对象相关联,找到角似乎非常容易,但问题是,对于旋转的矩形(通常是boundingRect,但边不平行于轴),这些值非常不同。在这种情况下,它存储了与另一个矩形相对应的值,该矩形的边平行于轴并覆盖旋转的矩形,因此我无法检测实际矩形的角。 此外,我想做一个比较这两个算法之间的检测一张纸从图像。 > Canny边->最大轮廓->最大矩形->查找角点->
问题内容: 假设我有以下结构: 如果我将该结构作为对象 如果我将此对象设置为nil 它不起作用,实际上是类型分配错误,但适用于映射和切片。那么,我将如何删除该对象(即取消分配)呢?我查看了内置的delete文档,但它从给定的映射中删除了一个条目。谢谢。 问题答案: Go是一种垃圾收集语言。您不应该这样做,也不能从内存中删除对象。这样做是垃圾收集器的 职责 和 责任 ,并且它是 自动执行的 。当对象