一、介绍

在没有any类型之前,go语言中,咱们常常应用interface{},来示意一个类型是未知的,或者有好几种其余根底类型的状况。
从 Go1.18开始,go官网定义了一个预申明标识符(Predeclared identifiers):any。

// any is an alias for interface{} and is equivalent to interface{} in all ways.// any 是一个 interface{}的 别名,并且在任何状况下和interface{}雷同。type any = interface{}

官网的定义,通知了咱们any就是interface{}的别名,用来代替interface{}的。
go源码中当初也大量的应用any比方:

func Print(a ...any) (n int, err error) func Println(a ...any) (n int, err error)type Pointer[T any] structvar expunged = new(any)dirty map[any]*entry func Marshal(v any) ([]byte, error) ......

太多中央用到了,基本上go官网,用any代替了任何interface{}呈现的中央。