偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Go 1.18 中的 Any 是什么?

開(kāi)發(fā) 后端
以下代碼雖然不是泛型,但用 Go 1.18 可以正常運(yùn)行,證明 any 和 interface{} 是一樣的。

[[438501]]

大家好,我是 polarisxu。

Go 1.18 因?yàn)榉盒鸵?any,這實(shí)際上是 interface{} 的別名:

  1. type any = interface{} 

以下代碼雖然不是泛型,但用 Go 1.18 可以正常運(yùn)行,證明 any 和 interface{} 是一樣的:(這里可以在線運(yùn)行:https://gotipplay.golang.org/p/dPeNhe-7nkA)

  1. package main 
  2.  
  3. import ( 
  4.  "fmt" 
  5.  
  6. // 這里的 any 并非泛型的約束,而是類(lèi)型 
  7. func test(x anyany { 
  8.  return x 
  9.  
  10. func main() { 
  11.  fmt.Println(test("a")) 

泛型中,any 換為 interface{} 也可以:(這里可以在線運(yùn)行:https://gotipplay.golang.org/p/wKL3rKuldQX)

  1. package main 
  2.  
  3. import ( 
  4.  "fmt" 
  5.  
  6. // 注意其中的 T interface{},正常應(yīng)該使用 T any 
  7. func Print[T interface{}](s ...T) { 
  8.  for _, v := range s { 
  9.   fmt.Print(v) 
  10.  } 
  11.  
  12. func main() { 
  13.  Print("Hello, ""playground\n"

你也可以本地使用 tip 運(yùn)行驗(yàn)證下。

可見(jiàn),之所以引入 any 關(guān)鍵字,主要是讓泛型修飾時(shí)短一點(diǎn),少一些括號(hào)。any 比 interface{} 會(huì)更清爽~

此外,項(xiàng)目中如果想要做替換,可以通過(guò) gofmt 將 interface{} 改為 any:

  1. gofmt -w -r 'interface{} -> any' ./... 

 

責(zé)任編輯:武曉燕 來(lái)源: polarisxu
相關(guān)推薦

2021-10-29 10:55:07

Go 泛型語(yǔ)言

2021-12-27 18:27:18

GoTryLockJava

2022-01-10 11:33:17

Go測(cè)試軟件

2021-12-02 18:21:49

GoIP 包設(shè)計(jì)

2025-04-28 08:00:56

2025-04-29 08:03:18

2021-12-15 10:54:12

Gogofmt命令Go源代碼

2021-12-15 10:23:56

Go 1.18 Bet語(yǔ)言泛型

2021-11-01 12:41:39

Go

2022-01-26 09:02:57

GoCut方法

2021-12-28 07:20:44

泛型Go場(chǎng)景

2022-02-11 21:01:18

GoNetip網(wǎng)絡(luò)庫(kù)

2022-02-14 09:32:49

Go場(chǎng)景TryLock

2022-07-12 06:17:43

GoogleGolang開(kāi)發(fā)工作

2022-08-17 17:57:37

GoGo語(yǔ)言

2021-10-18 10:53:26

Go 代碼技術(shù)

2022-01-19 08:51:00

Module工作區(qū)Go

2025-06-04 04:10:00

HappensGo內(nèi)存

2021-04-26 07:51:00

JavaScript方法函數(shù)

2010-06-29 13:58:17

SNMPMIB
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)