成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Go 泛型主要設計者介紹使用泛型的最佳時機

開發
近日Go 泛型主要設計者 Ian Lance Taylor在 Go 官方博客發表了自己 2021 年的演講——《When To Use Generics》,來介紹使用 Go 泛型的最佳時機。

近期一篇主題為“Go 泛型導致代碼運行速度變慢”的文章引起了廣泛討論。因為 Go 開發者對“泛型”這項特性期盼已久,但最后卻發現有所落差。

Go 泛型主要設計者 Ian Lance Taylor 也留意到了相關的討論,于是近日他在 Go 官方博客發表了自己 2021 年的演講——《When To Use Generics》,來介紹使用 Go 泛型的最佳時機。

上文提到的文章指出,從歷史上看,C++、D 乃至 Rust 等系統語言一直采用單態化方法實現泛型。然而,Go 1.18 的泛型實現并不完全依靠單態化 (Monomorphization),而是采用了一種被稱為"GCShape stenciling with Dictionaries"的部分單態化技術。這種方法的好處是可以大幅減少代碼量,但在特定情況下,會導致代碼速度變慢。

Ian Lance Taylor 表示,Go 的通用開發準則有要求:開發者應通過編寫代碼而不是定義類型來編寫 Go 程序。當涉及到泛型時,如果通過定義類型參數約束來編寫程序,那一開始就走錯了路。正解應該是從編寫函數開始,當明確了類型參數的作用后,再添加類型參數就很容易了。

接著,Ian 列舉了 4 種類型參數能有效發揮作用的情況:

  • 使用語言定義的特殊容器類型
  • 通用數據結構
  • 類型參數首選是函數,而非方法的情況
  • 不同類型需要實現通用方法

同時也提醒了不適合使用類型參數的情況:

  • 不要使用類型參數替換接口類型 (Interface Type)
  • 如果方法實現不同,不要使用類型參數
  • 在適當的地方使用反射 (reflection)

最后,Ian 給出了簡要的泛型使用方針,當開發者發現自己多次編寫完全相同的代碼,而這些副本之間的唯一區別僅在于使用了不同類型,這時候便可以考慮使用類型參數。換句話說,即開發者應避免使用類型參數,直到發現自己要多次編寫完全相同的代碼。

本文轉自OSCHINA

本文標題:Go 泛型主要設計者介紹使用泛型的最佳時機

本文地址:https://www.oschina.net/news/191309/when-generics

責任編輯:未麗燕 來源: 開源中國
相關推薦

2021-09-29 18:17:30

Go泛型語言

2022-03-28 13:34:26

Go泛型部署泛型

2024-10-28 00:40:49

Go語法版本

2022-05-06 09:22:25

Go泛型

2023-11-29 08:19:45

Go泛型缺陷

2021-11-27 22:20:13

SlicesGo泛型

2023-11-03 14:02:04

Go切片泛型庫

2009-08-07 17:09:11

CLR泛型

2021-12-05 23:45:23

Go泛型Maps

2021-12-15 10:23:56

Go 1.18 Bet語言泛型

2011-07-12 16:00:39

java泛型

2009-04-24 09:33:12

LINQ查詢非泛型

2023-01-05 17:13:28

TypeScript泛型組件

2009-09-01 16:14:11

C#泛型

2024-01-09 09:27:57

Rust編程泛型

2009-05-27 10:12:27

LINQ泛型字典Dictionary

2021-06-17 06:51:32

Java泛型Java編程

2021-12-28 07:20:44

泛型Go場景

2021-12-01 08:29:17

Go泛型Maps

2022-03-29 11:48:40

Go泛型測試
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲色图综合 | 国产a视频 | 国产ts一区 | 国产免费播放视频 | 华丽的挑战在线观看 | 黄色欧美视频 | 中文字幕久久精品 | 国产sm主人调教女m视频 | 97精品一区二区 | 九九热视频这里只有精品 | 亚洲在线一区二区 | 精品国产欧美一区二区三区成人 | 国产欧美日韩久久久 | 国产欧美日韩 | 中文字幕一区二区三区四区 | 97色在线视频 | 高清黄色网址 | 九九热在线观看视频 | 国产高清视频一区 | 高清欧美性猛交 | 欧美激情精品久久久久久变态 | 天天干亚洲 | 国产一区二区三区四区 | 精品久久网 | 日本欧美黄色片 | 日韩精品一区中文字幕 | 不卡一区| 午夜男人天堂 | 狠狠狠干 | 亚洲国产成人av好男人在线观看 | 国产精品黄视频 | 精品国产一区二区三区免费 | av一级在线观看 | 精品一区二区久久久久久久网精 | 亚洲毛片在线观看 | 亚洲高清在线观看 | 国产乱码精品1区2区3区 | 一区二区av| 夜色www国产精品资源站 | 亚洲国产欧美日韩 | 在线小视频 |