瀛︿範 Golang 鐨?4 涓妧宸?| Linux 涓浗
Posted Linux寮€婧愮ぞ鍖?/a>
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了瀛︿範 Golang 鐨?4 涓妧宸?| Linux 涓浗相关的知识,希望对你有一定的参考价值。
https://opensource.com/article/18/11/learning-golang
銆€浣滆€呫€€|銆€Phill Estes
銆€璇戣€呫€€|銆€dianbanjiu 馃専馃専馃専鍏辫缈昏瘧锛?span class="mq-17">14.0 绡?璐$尞鏃堕棿锛?0 澶?/span>
鍒拌揪 Golang 澶ч檰锛氫竴浣嶈祫娣卞紑鍙戣€呬箣鏃呫€?/p>
2014 骞村澶┾€︹€?/p>
IBM锛氣€滄垜浠渶瑕佷綘寮勬竻妤氳繖涓?Docker銆傗€?/p>
鎴戯細鈥滄病闂銆傗€?/p>
IBM锛氣€滈偅灏卞紑濮嬪惂銆傗€?/p>
鎴戯細鈥滃ソ鐨勩€傗€濓紙鍐呭績澹伴煶锛夛細鈥滵ocker 鏄敤 Go 缂栧啓鐨勩€傛槸鍚楋紵鈥滐紙Google 涓€涓嬶級鈥滃摝锛屼竴闂ㄧ紪绋嬭瑷€銆傛垜鍦ㄦ垜鐨勫矖浣嶄笂宸茬粡瀛︿範浜嗗緢澶氫簡銆傝繖涓嶄細澶毦銆傗€?/p>
鎴戠殑澶у鏂扮敓缂栫▼璇炬槸浣跨敤 VAX 姹囩紪绋嬪簭鏁欐巿鐨勩€傚湪鏁版嵁缁撴瀯璇句笂锛屾垜浠娇鐢?Pascal 鈥斺€?鍦ㄥ浘涔﹂璁$畻鏈轰腑蹇冪殑鏃х數鑴戜笂浣跨敤杞洏鍔犺浇銆傚湪涓€闂ㄦ洿楂樹竴绾х殑璇剧▼涓紝鎴戠殑鏁欐巿鏁欐巿鍠滄鐢?ADA 鍘诲睍绀烘墍鏈夌殑渚嬪瓙銆傚湪鎴戜滑鐨?Sun 宸ヤ綔绔欎笂锛屾垜閫氳繃鍚勭 UNIX 鐨勫疄鐢ㄦ簮浠g爜瀛﹀埌浜嗕竴鐐?C銆傚湪 IBM锛孫S/2 婧愪唬鐮佷腑鎴戜滑浣跨敤浜?C 鍜屼竴浜?x86 姹囩紪绋嬪簭锛涘湪涓€涓笌 Apple 鍚堜綔鐨勯」鐩腑鎴戜滑澶ч噺浣跨敤 C++ 鐨勯潰鍚戝璞″姛鑳姐€備笉涔呭悗鎴戝鍒颁簡 shell 鑴氭湰锛屽紑濮嬫槸 csh锛屼絾鏄湪 90 骞翠唬涓湡鍙戠幇 Linux 鍚庡氨杞埌浜?Bash銆傚湪 90 骞翠唬鍚庢湡锛屾垜鍦ㄥ皢 IBM 鐨勫畾鍒剁殑 JVM 浠g爜涓殑鍗虫椂锛圝IT锛夌紪璇戝櫒绉绘鍒?Linux 鏃讹紝鎴戜笉寰椾笉寮€濮嬪涔?m4锛堜笌鍏惰鏄紪绋嬭瑷€锛屼笉濡傝鏄竴绉嶅畯澶勭悊鍣級銆?/p>
涓€鏅?20 骞粹€︹€︽垜浠庢湭鍥犱负瀛︿範涓€闂ㄦ柊鐨勭紪绋嬭瑷€鑰岀劍鐏笺€備絾鏄?nbsp;Go[1] 璁╂垜鎰熻鏈変簺涓嶅悓銆傛垜鎵撶畻鍏紑璐$尞锛屼笂浼犲埌 GitHub锛岃浠讳綍鏈夊叴瓒g殑浜洪兘鍙互鐪嬪埌锛佷綔涓轰竴涓?40 澶氬瞾鐨勮祫娣卞紑鍙戣€呯殑 Go 鏂版墜锛屾垜涓嶆兂鎴愪负涓€涓瑧璇濄€傛垜浠兘鐭ラ亾绋嬪簭鍛樼殑楠勫偛锛屼笉鎯充涪浜猴紝涓嶈浣犵殑缁忛獙姘村钩濡備綍銆?/p>
鎴戞棭鏈熺殑璋冪爺鏄剧ず锛孏o 浼间箮姣旀煇浜涜瑷€鏇?鈥滃湴閬撯€濄€傚畠涓嶄粎浠呮槸璁╀唬鐮佸彲浠ョ紪璇戯紱涔熼渶瑕佽浠g爜鍙互 鈥淕o Go Go鈥濄€?/p>
鐜板湪锛屾垜鐨勪釜浜虹殑 Go 涔嬫梾鍥涘勾闂存湁浜嗗嚑鐧句釜鎷夊彇璇锋眰锛圥R锛夛紝鎴戜笉鏄嚧鍔涗簬鎴愪负涓€涓笓瀹讹紝浣嗘槸鐜板湪鎴戣寰楄础鐚拰缂栧啓浠g爜姣旀垜鍦?2014 骞寸殑鏃跺€欐洿鑸掓湇浜嗐€傛墍浠ワ紝浣犺鎬庝箞鏁欎竴涓€佷汉鏂扮殑鎶€鑳芥垨鑰呬竴闂ㄧ紪绋嬭瑷€鍛紵浠ヤ笅鏄垜鑷繁鍦ㄥ墠寰€ Golang 澶ч檰涔嬫梾鐨勫洓涓楠ゃ€?/p>
1銆佷笉瑕佽烦杩囧熀纭€
铏界劧浣犲彲浠ラ€氳繃澶嶅埗浠g爜鏉ヨ繘琛屼綘鏃╂湡鐨勫涔狅紙璋佽繕鏈夋椂闂撮槄璇绘墜鍐岋紒锛燂級锛孏o 鏈変竴涓潪甯告槗璇荤殑 璇█瑙勮寖[2]锛屽畠鍐欑殑寰堟槗浜庣悊瑙o紝鍗充究浣犲湪璇█鎴栬€呯紪璇戠悊璁烘柟闈㈡病鏈夊彇寰楃澹浣嶃€傞壌浜?Go 鐨?nbsp;鍙傛暟锛氱被鍨?/span> 椤哄簭鐨勭壒鏈変範鎯紝浠ュ強涓€浜涙湁瓒g殑璇█鍔熻兘锛屼緥濡傞€氶亾鍜?go 鍗忕▼锛屾悶瀹氳繖浜涙柊姒傚康鏄潪甯搁噸瑕佺殑鏄簨鎯呫€傞槄璇昏繖涓檮灞炵殑鏂囨。 楂樻晥 Go 缂栫▼[3]锛岃繖鏄?Golang 鍒涢€犺€呮彁渚涚殑鍙︿竴涓噸瑕佽祫婧愶紝瀹冨皢涓轰綘鎻愪緵鏈夋晥鍜屾纭娇鐢ㄨ瑷€鐨勫噯澶囥€?/p>
2銆佷粠鏈€濂界殑涓涔?/p>
鏈夎澶氬疂璐电殑璧勬簮鍙緵鎸栨帢锛屽彲浠ュ皢浣犵殑 Go 鐭ヨ瘑鎻愬崌鍒颁笅涓€涓瓑绾с€傛渶杩戝湪 GopherCon[4] 涓婄殑鎵€鏈夎婕旈兘鍙互鍦ㄧ綉涓婃壘鍒帮紝濡傝繖涓?nbsp;GopherCon US 2018[5] 鐨勮灏藉垪琛ㄣ€傝繖浜涜婕旂殑涓撲笟鐭ヨ瘑鍜屾妧鏈按骞冲悇涓嶇浉鍚岋紝浣嗘槸浣犲彲浠ラ€氳繃瀹冧滑杞绘澗鍦版壘鍒颁竴浜涗綘鎵€涓嶄簡瑙g殑浜嬫儏銆?span class="mq-46">Francesc Campoy
鎯宠鐪嬩唬鐮侊紵鍦?GitHub 涓婅澶氬彈娆㈣繋鐨勪簯鍘熺敓椤圭洰閮芥槸鐢?Go 鍐欑殑锛?span class="mq-51">Docker/Moby[8]銆?span class="mq-53">Kubernetes[9]銆?span class="mq-55">Istio[10]銆?span class="mq-57">containerd[11]銆?span class="mq-59">CoreDNS[12]锛屼互鍙婅澶氬叾瀹冪殑銆傝瑷€绾补涓讳箟鑰呭彲鑳戒細璁や负涓€浜涢」鐩瘮鍙﹀涓€浜涙洿鍦伴亾锛屼絾杩欎簺閮芥槸寰堝ソ鐨勮捣鐐癸紝鍙互鐪嬪埌鍦ㄩ珮搴︽椿璺冪殑椤圭洰鐨勫ぇ鍨嬩唬鐮佸簱涓娇鐢?Go 鐨勭▼搴︺€?/p>
3銆佷娇鐢ㄤ紭绉€鐨勮瑷€宸ュ叿
浣犱細寰堝揩浜嗚В鍒?nbsp;gofmt[13] 鐨勫疂璐典箣澶勩€侴o 鏈€婕備寒鐨勪竴涓湴鏂瑰氨鍦ㄤ簬娌℃湁鍏充簬姣忎釜椤圭洰浠g爜鏍煎紡鐨勪簤璁?鈥斺€?nbsp;gofmt 鍐呯疆鍦ㄨ瑷€鐨勮繍琛岀幆澧冧腑锛屽苟涓旀牴鎹竴绯诲垪鍙潬鐨勩€佹槗浜庣悊瑙g殑璇█瑙勫垯瀵?Go 浠g爜杩涜鏍煎紡鍖栥€傛垜涓嶇煡閬撴湁鍝釜鍩轰簬 Golang 鐨勯」鐩細鍦ㄦ寔缁泦鎴愪腑涓嶅潥鎸佷娇鐢?nbsp;gofmt 妫€鏌ユ媺鍙栬姹傘€?/p>
闄や簡鐩存帴鏋勫缓浜庤繍琛岀幆澧冨拰 SDK 涓殑涓€绯诲垪鏈変环鍊肩殑宸ュ叿涔嬪锛屾垜寮虹儓寤鸿浣跨敤涓€涓 Golang 鐨勭壒鎬ф湁鑹ソ鏀寔鐨勭紪杈戝櫒鎴栬€?IDE銆傜敱浜庢垜缁忓父鍦ㄥ懡浠よ涓繘琛屽伐浣滐紝鎴戜緷璧栦簬 Vim 鍔犱笂寮哄ぇ鐨?nbsp;vim-go[14] 鎻掍欢銆傛垜涔熷枩娆㈠井杞彁渚涚殑 VS Code[15]锛岀壒鍒槸瀹冪殑 Go 璇█[16] 鎻掍欢銆?/p>
鎯宠涓€涓皟璇曞櫒锛?span class="mq-75">Delve[17] 椤圭洰鍦ㄤ笉鏂殑鏀硅繘鍜屾垚鐔燂紝瀹冩槸鍦?Go 浜岃繘鍒舵枃浠朵笂杩涜 gdb[18]寮忚皟璇曠殑寮烘湁鍔涚殑绔炰簤鑰呫€?/p>
4銆佸啓涓€浜涗唬鐮?/p>
浣犺鏄笉寮€濮嬪皾璇曚娇鐢?Go 鍐欎唬鐮侊紝浣犳案杩滀笉鐭ラ亾瀹冩湁浠€涔堝ソ鐨勫湴鏂广€傛壘涓€涓湁 鈥滈渶瑕佸府鍔┾€?闂鏍囩鐨勯」鐩紝鐒跺悗寮€濮嬭础鐚唬鐮併€傚鏋滀綘宸茬粡浣跨敤浜嗕竴涓敤 Go 缂栧啓鐨勫紑婧愰」鐩紝鎵惧嚭瀹冩槸鍚︽湁涓€浜涘彲浠ョ敤鍒濆鑰呮柟寮忚В鍐崇殑 Bug锛岀劧鍚庡紑濮嬩綘鐨勭涓€涓媺鍙栬姹傘€備笌鐢熸椿涓殑澶у鏁颁簨鎯呬竴鏍凤紝瀹炶返鍑虹湡鐭ワ紝鎵€浠ュ紑濮嬪惂銆?/p>
浜嬪疄璇佹槑锛屼綘鍙互鏁欎細涓€涓祫娣辩殑鑰佸紑鍙戣€呬竴闂ㄦ柊鐨勬妧鑳界敋鑷崇紪绋嬭瑷€銆?/p>
via: https://opensource.com/article/18/11/learning-golang
鏈枃鐢?nbsp;LCTT 鍘熷垱缂栬瘧锛?span class="mq-87">Linux涓浗 鑽h獕鎺ㄥ嚭
以上是关于瀛︿範 Golang 鐨?4 涓妧宸?| Linux 涓浗的主要内容,如果未能解决你的问题,请参考以下文章