go與python的不同


go 開發中需要注意的與python的不同點

列出golang開發過程中與python的不同點,主要是在語法方面,golang的一些語法真是要人命啊。

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判斷是否出錯


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM