您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關golang和python的區別,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
golang即Go語言,是谷歌2009發布的第二款開源編程語言。
Go語言專門針對多處理器系統應用程序的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持并行進程。
python是一種面向對象的動態類型語言,最初被設計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多被用于獨立的、大型項目的開發。
golang和python的區別主要是在語法方面。
1.golang可讀性很強,與或對應&&, ||這也使得golang看起來更像傳統編程語言,而不是python的or,and。
2.無時無刻不在使用自定義的struct,初始化結構體要用,json轉成數據結構也要用,如果json轉成的是復合結構還要嵌套struct,很
多時候strcut來當python中的map用。
3.定義type test struct,想得到一個test的數組,要使用[]*test,而不是[]test。
4.struct及其里面的元素的首字母要大寫,不然很可能訪問不到。
5.golang的map比python難用多了,沒有dict.keys(),沒有dict.values(),想把map轉成別的結構只能遍歷map。
6.聲明并賦值使用:=。
7.沒有set,沒有tuples,要經常使用slices。
8.沒有__getattr,要經常檢查是否存在。
9.引用的包,聲明的變量必須都的使用,不然編譯都無法通過。
10.很難修改字符串,需要的話就重排吧。
11.字符串經常需要在string和[]byte之間來回轉換,數字轉字符串必須用strconv。
12.if,else,elif必須和配對的 { 在同一行。
13.數組沒有[:-1]、[::-1]、a,b,c=[1,2,3]這些靈活的用法。
14.如果能確定函數返回的類型,就不要用interface{},哪怕結構很復雜,也要使用strcut來返回。如果返回interface{},那么
string(),for遍歷這些基礎用法都沒法使用了。
15.空指針是nil,python中的None在golang用nil代替,經常寫err != nil判斷是否出錯。
看完上述內容,你們對golang和python的區別有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。