8000 GitHub - golang-design/under-the-hood: 📚 Go: Under The Hood | Go 语言原本 | https://golang.design/under-the-hood
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

golang-design/under-the-hood

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

Go 语言原本

当å‰å†…容基于 go1.15

Go 语言从 2009 年诞生之åˆå·²æœ‰å余年的历å²ã€‚ 纵观大多数编程语言的历å²è¿›ç¨‹ï¼Œä»¤äººæƒŠè®¶çš„æ˜¯ Go 语言自身在进化的这å余年间, 语言本身并未å‘生太大å˜åŒ–,Go 语言的用户能够æŒç»­ä¸æ–­å†™å‡ºå‘åŽå…¼å®¹çš„应用。 从语言设计的角度而言,作为一门从诞生之åˆå°±è€ƒè™‘ä½Žæˆæœ¬ã€é«˜å¹¶å‘ã€ç®€æ´ç­‰åŽŸåˆ™çš„è¯­è¨€ï¼Œ 很难让人ä¸å¯¹å…¶ç®€æ´è®¾è®¡èƒŒåŽçš„å„项实现机制以åŠå…·ä½“å·¥ä½œåŽŸç†æ‰€å¥½å¥‡ã€‚ 本书就是一本讨论 Go 语言æºç å·¥ç¨‹ä¸­çš„æŠ€æœ¯åŽŸç†åŠå…¶æ¼”进历程的书ç±ã€‚

致读者的è¯

读者å¯èƒ½ä¼šå¥½å¥‡ï¼Œè®¾è®¡æ€»åœ¨æ¼”è¿›ã€æºç æ€»åœ¨å˜åŒ–,为什么è¦è€—费力气研究实际工作中å¯èƒ½æ°¸è¿œä¸ä¼šæŽ¥è§¦çš„æºç ï¼Ÿ 笔者以为ä¸ç„¶ï¼Œå› ä¸ºã€Žè½¯ä»¶å·¥ç¨‹å‘生在代ç è¢«éžåŽŸä½œè€…é˜…è¯»ä¹‹æ—¶ã€ï¼Œåœ¨é˜…读æºç çš„过程中, 我们除了能进一步加深对语言本身的ç†è§£ï¼Œæ›´é‡è¦çš„则是ç†è§£æŸä¸ªè®¾è®¡èƒŒåŽæ‰€ä½¿ç”¨çš„æ ¹æœ¬åŽŸç†ï¼Œ 以åŠå½“其他人在实现这个设计的过程中å‘生的工程决策ã€å®žè·µä¸Žå®žçŽ°æŠ€å·§ã€‚ ä»£ç æ€»æ˜¯å¯ä»¥æŽ¨å€’釿¥ï¼Œä½†åŽŸç†å´èƒ½ã€Žæ°¸ç”Ÿã€ã€‚

本书的创作愿景是涵盖整个 Go 语言的方方é¢é¢ã€‚这包括用户代ç èƒ½ç›´æŽ¥æŽ¥è§¦çš„ Go è¿è¡Œæ—¶ç»„件〠与关键语言特性强相关的工具链ã€è¯¸å¤šé‡è¦çš„æ ‡å‡†åº“等等。在部分情况下, 本书会讨论ä¸åŒå¹³å°ä¸‹çš„实现差异,但ç€é‡ä»¥ Linux/amd64 为主。

阅读的预备知识

阅读本书的读者应该具备一些基本的计算机科学素养,至少学过一门程åºè®¾è®¡è¯¾ç¨‹ä»¥åŠæ•°æ®ç»“构的课程,例如能够熟悉地谈论散列表ã€çº¢é»‘树等概念。若你具备基本的离散数学和概率论知识,对谓è¯ã€éšæœºå˜é‡ç­‰æ•°å­¦æ¦‚念具有一定程度的ç†è§£ï¼Œé‚£ä¹ˆå°†ä¼šå¯¹é˜…读本书的部分章节有所帮助。

æœ¬ä¹¦å¹¶æœªè¦æ±‚è¯»è€…å·²ç»æŽŒæ¡ä½¿ç”¨ Go è¯­è¨€ï¼Œå› æ­¤ä¼šåœ¨å¼€ç¯‡å¿«é€Ÿä»‹ç» Go 的语言规范。但如果你已ç»å…·å¤‡ Go 语言编ç å’Œç›¸å…³å¼€å‘ç»éªŒï¼Œåˆ™ä¼šå¯¹é˜…读本书有所帮助。

å…责声明

注æ„ï¼Œç›®å‰æœ¬ä¹¦è¿˜å±žäºŽç›¸å½“æ—©æœŸçš„åˆ›ä½œé˜¶æ®µã€‚å¦‚æžœè¯»è€…åœ¨é˜…è¯»è¿‡ç¨‹ä¸­æ€€ç–‘æŸæ®µå†…容的æè¿°æ˜¯é”™è¯¯çš„, 那么它很å¯èƒ½å°±æ˜¯é”™è¯¯çš„。本书目å‰çš„大致创作进度:█░░░░░░░░░ (9.9%/100%)

开始阅读

社区的支æŒ

本书的主页( https://golang.design/under-the-hood ï¼‰ä»¥åŠ GitHub 仓库( https://github.com/golang-design/under-the-hood )上å¯ä»¥æ‰¾åˆ°æœ¬ä¹¦çš„æ›´æ–°æƒ…况以åŠä¸€äº›é¢å¤–çš„å‚考资料。 这是一本属于 golang.design initiative 旗下创作的开æºä¹¦ç±ï¼Œè¯»è€…还å¯ä»¥åœ¨ GitHub 仓库上å‘起关于本书内容的问题,或报告本书存在的错误,甚至å‚与创作。 笔者欢迎您在 GitHub 仓库上æäº¤ Issues 或 Pull Request。 其具体细节请å‚考如何å‚与贡献。 如果您想è¦å…³æ³¨æœ¬ä»“库的更新情况,å¯ä»¥ç‚¹å‡»ä»“库的 Watch。如果您喜欢本书,我们也éžå¸¸é«˜å…´èƒ½å¤Ÿæ”¶åˆ°æ‚¨çš„ Star 和资助。

致谢

本书的主笔(@changkun)首先希望感谢 Go 夜读 的创始人 @yangwenmai 为 golang.design 计划æä¾›èµžåŠ©ã€‚ 其次,我们还希望感谢 Go 夜读 社区å°ç»„的核心æˆå‘˜ï¼Œæ„Ÿè°¢ä»–们努力建设的 Go 语言社区环境,他们是:@qcrao, @eddycjy, @FelixSeptem,以åŠç¤¾åŒºé‡Œçš„æœ‹å‹ä»¬ç§¯æžå‚与并讨论 Go 语言的相关问题,他们是:@cch123。

当然,本书的写作离ä¸å¼€è¯¸å¤šçƒ­å¿ƒè¯»è€…的支æŒï¼Œæˆ‘们收到了æ¥è‡ªä¸‹åˆ—äººå‘˜çš„æœ‰å¸®åŠ©çš„è¯ 8000 „价和勘误,包括但ä¸é™äºŽï¼š@two, @yangxikun, @cnbailian, @choleraehyq, @PureWhiteWu, @hw676018683, @wangzeping722, @l-qing。我们真心感谢这些人对本书内容的质疑与指正。当然,书中还å¯èƒ½æœ‰é”™è¯¯å­˜åœ¨ï¼Œå¸Œæœ›å¾—到更多的指正和å馈。

最åŽï¼Œç‰¹åˆ«æ„Ÿè°¢ @egonelbre 所æä¾›çš„ Gopher 图片设计。

许å¯

© 2018-2020 The golang.design Initiative Authors. Licensed under CC-BY-NC-ND 4.0.

0