最近因为兴趣原因学习了如何使用go语言,学习遇到的第一个拦路虎就是使用go语言如何判断数据类型,并且如何进行数据类型的转换。
在go 可以使用
comma, ok
的形式做区分value, ok := em.(T)
em : interface 类型的变量,实现interface的变量
T:代表要断言的类型,例如int,int64等
value : interface 变量存储的值,
ok :bool 类型,表示是否为该断言的类型 T,是的话则返回true,否则返回false
完整代码示例:
package main
import "fmt"
var container=[]string{"zero","one","two"}
func main() {
value, ok := interface{}(container[1]).(string)
fmt.Println(value)
fmt.Println(ok)}
这是go语言中判断数据类型的语句。这个语句主要包含两个逻辑。
逻辑1:interface{}(container[1]),将container变量转换为空接口的实现
逻辑2:判断对应的空接口值是否是[]string类型。
Java转go的过程中很多东西都不太适应,有时候觉得一些简单的功能都没有办法很快实现,有点儿挫败。不过总能克服的,只要找到合适的关键词总可以找到答案。
希望路过的编程大佬,不吝赐教,评论。如果本篇文章帮助到了大佬,请点点赞和关注,会有更多内容产出。