瀛︿範 Golang 鐨?4 涓妧宸?| Linux 涓浗

Posted Linux寮€婧愮ぞ鍖?/a>

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了瀛︿範 Golang 鐨?4 涓妧宸?| Linux 涓浗相关的知识,希望对你有一定的参考价值。

鍒拌揪 Golang 澶ч檰锛氫竴浣嶈祫娣卞紑鍙戣€呬箣鏃呫€?
-- Phill Estes

鑷磋阿
缂栬瘧鑷€€|銆€
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[6] 鍒涘缓浜嗕竴涓悕鍙?nbsp;JustForFunc[7] 鐨?Go 缂栫▼瑙嗛绯诲垪锛屽叾涓嶆柇澧炲鐨勫墽闆嗗彲浠ョ敤鏉ユ嫇瀹戒綘鐨?Go 鐭ヨ瘑鍜岀悊瑙c€傜洿鎺ユ悳绱?鈥淕olang" 鍙互涓洪偅浜涙兂瑕佷簡瑙f洿澶氫俊鎭殑浜轰滑灞曠ず璁稿鍏跺畠瑙嗛鍜屽湪绾胯祫婧愩€?/p>

鎯宠鐪嬩唬鐮侊紵鍦?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 涓浗的主要内容,如果未能解决你的问题,请参考以下文章

瀛︿範Java鐨勭浜屽ぉ

python瀛︿範鍩虹涓€

Python瀛︿範涔嬭緭鍏ュ拰杈撳嚭

python鍩虹瀛︿範6-mongodb銆乻ys銆佹帴鍙e紑鍙戙€佹搷浣渆xcel

softmax

瀹夊叏鏈瀛︿範