Golang

关注公众号 jb51net

关闭
首页 > 脚本专栏 > Golang > go any类型

go中any类型的使用详解

作者:考虑考虑

Go1.18新增any类型,替代interface{}用于表示未知类型,提升类型安全和代码清晰度,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧

前言

在没有any类型之前,go语言中,我们经常使用interface{},来表示一个类型是未知的,或者有好几种其他基础类型的情况,但在go1.18版本之后,新增了any类型,用来代替interface{}

any使用

go使用any使用

package main

import "fmt"

func say(data any) {
    switch data.(type) {
    case int:
       fmt.Println("int")
    case string:
       fmt.Println("string")

    }
}

func main() {
    say(123)

}

输出结果为

any转换为类型

package main

import "fmt"

func say(data any) {
    switch data.(type) {
    case int:
       b := data.(int) + 1
       fmt.Println(b)
    case string:
       fmt.Println("string")

    }
}

func main() {
    say(123)

}

输出结果为

any用在map

package main

import "fmt"

func main() {
    m := make(map[string]any)
    m["a"] = 1
    m["b"] = "aaa"
    for k, v := range m {
       fmt.Println(k, v)
       a, b := v.(int)
       fmt.Println(a, b)
    }

}

输出结果为

总结

在go1.18之后,any关键字可以作为开发使用,不过看个人

到此这篇关于go中any类型的使用详解的文章就介绍到这了,更多相关go any类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文