【发布时间】:2019-09-07 18:24:26
【问题描述】:
我有这个方法,我收到一个int64 参数。该参数在某些领域使用,然后应该被传递给另一个需要不同类型的方法(来自外部库):type AcctInterimInterval uint32
我尝试将其转换为 uint32,但脚本抱怨它:invalid type assertion: ... (non-interface type int on left)。
我也尝试将其转换为AcctInterimInterval,但这次出现了不同的错误:interface conversion: interface {} is int, not main.AcctInterimInterval
这是我目前的测试代码:
package main
import (
"fmt"
)
// defined in some other lib
type AcctInterimInterval uint32
// defined in some other lib
func test(value AcctInterimInterval){
fmt.Println(value)
}
func main() {
// int received externally
interval := 60
var acctInterval interface{} = interval
test(acctInterval.(AcctInterimInterval))
}
【问题讨论】:
标签: go types type-assertion