go中any类型的使用详解

 更新时间:2025年08月06日 10:52:43   作者:考虑考虑  
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类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Go 数据结构之二叉树详情

    Go 数据结构之二叉树详情

    这篇文章主要介绍了 Go 数据结构之二叉树详情,二叉树是一种数据结构,在每个节点下面最多存在两个其他节点。即一个节点要么连接至一个、两个节点或不连接其他节点,下文基于GO语言展开二叉树结构详情,需要的朋友可以参考一下
    2022-05-05
  • golang rate令牌桶源码分析实现方式

    golang rate令牌桶源码分析实现方式

    这篇文章主要介绍了golang rate令牌桶源码分析实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • GoLang函数与面向接口编程全面分析讲解

    GoLang函数与面向接口编程全面分析讲解

    这篇文章主要介绍了GoLang函数与面向接口编程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01
  • Go语言中嵌入式缓存库的用法详解

    Go语言中嵌入式缓存库的用法详解

    Go 语言中有一些非常高效的嵌入式缓存库,groupcache 和 bigcache 是两个非常流行且高性能的库,本文将详细介绍一下二者的用法,有需要的小伙伴可以参考下
    2025-01-01
  • golang如何用type-switch判断interface变量的实际存储类型

    golang如何用type-switch判断interface变量的实际存储类型

    这篇文章主要介绍了golang如何用type-switch判断interface变量的实际存储类型,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • 如何使用 Go 获取你的 IP 地址(推荐)

    如何使用 Go 获取你的 IP 地址(推荐)

    在Go语言中,获取IP地址分为公共IP和私有IP两种方式,公共IP地址通过外部API获取,本文给大家介绍如何使用 Go 获取你的 IP 地址,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • golang连接redis库及基本操作示例过程

    golang连接redis库及基本操作示例过程

    这篇文章主要介绍了golang连接redis库及基本操作示例过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • 如何在Go语言中灵活运用匿名函数和闭包

    如何在Go语言中灵活运用匿名函数和闭包

    这篇文章主要为大家介绍了如何在Go语言中灵活运用匿名函数和闭包实现实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Go函数的使用示例教程

    Go函数的使用示例教程

    这篇文章主要介绍了Go函数的使用示例,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • Golang生成Excel文档的方法步骤

    Golang生成Excel文档的方法步骤

    生成Excel是一个很常见的需求,本文将介绍如何使用Go的 Excelize库去生成Excel文档,以及一些具体场景下的代码实现,感兴趣的可以参考一下
    2021-06-06

最新评论