首頁 >後端開發 >Golang >golang與python有哪些不同?

golang與python有哪些不同?

coldplay.xixi
coldplay.xixi原創
2020-06-24 13:20:133138瀏覽

golang與python有哪些不同?

golang與python的不同有:

主要是在語法方面。

1.golang可讀性很強,與或對應&&, ||這也使得golang看起來更像傳統程式語言,而不是python的or,and。

2.很難修改字串,需要的話就重排吧。

3.字串經常需要在string和[]byte之間來回轉換,數字轉字串必須用strconv。

4.if,else,elif必須和配對的 { 在同一行。

5.無時無刻不在使用自訂的struct,初始化結構體要用,json轉成資料結構也要用,如果json轉成的是複合結構還要嵌套struct,很

多時候strcut來當python中的map用。

6.定義type test struct,想得到一個test的數組,要用[]*test,而不是[]test。

7.struct及其裡面的元素的首字母要大寫,不然很可能訪問不到。

8.golang的map比python難用多了,沒有dict.keys(),沒有dict.values(),想把map轉成別的結構只能遍歷map。

9.宣告並賦值使用:=。

10.沒有set,沒有tuples,要常使用slices。

11.沒有__getattr,要經常檢查是否存在。

12.引用的包,宣告的變數必須都的使用,不然編譯都無法通過。

13.陣列沒有[:-1]、[::-1]、a,b,c=[1,2,3]這些靈活的用法。

14.如果能確定函數回傳的類型,就不要用interface{},就算結構很複雜,也要使用strcut來傳回。如果回傳interface{},那麼

string(),for遍歷這些基礎用法都沒辦法使用了。

15.空指標是nil,python中的None在golang用nil代替,常常寫err != nil判斷是否出錯。

推薦教學:《go語言教學

以上是golang與python有哪些不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn