当å‰å†…容基于 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.