go語言語法筆記
阿新 • • 發佈:2019-01-25
因為本身自己學的Java,現對golang感興趣,以下為自己認為兩種語法不同的一些點。
1.在匯入了一個包之後,就可以用其匯出的名稱來呼叫它。
import "fmt"
fmt.Print()
2.匯入包中的方法只有首字母大寫的方法是可以被外部呼叫的
3.當兩個或多個連續的函式命名引數是同一型別,則除了最後一個型別之外,其他都可以省略。
我們在看golang原始碼中可能會看到
4.函式可以返回任意數量的返回值,一般為兩個,value和error
5.在函式的返回值中定義變數名,可以直接return
6.定義變數 型別在變數名之後 ,很多情況下不需要變數型別,它可以根據賦值直接判斷 :=
不允許初始化時沒有型別,不賦值,這樣編譯錯誤
7.變數在定義時沒有明確的初始化時會賦值為零值。在java中會出現編譯出錯
8.不同型別之間用 int(值) 轉換
9.在賦值型別不同時,編譯出錯
10.常量中const 不能用:= 可以沒有型別,其型別同golang語法
11.一個未指定型別的常量由上下文來決定其型別。
12.if前可以跟簡單的賦值語句 進行判斷,很方便 作用域在{}中
13.if中定義的便捷語句可在else中使用
14.if後必須跟{ 必須在同一行,懂吧!別忘了
15.switch和if then else 語法簡寫文圖
16.defer棧 後進先出 關閉資源
17.golang中有切片,有陣列,slice
18.切面範圍 左開右閉
19.slice有len和cap可以擴充套件
20.range有index和value 預設用_
21.map用make建立,定義還是用var
22.channel對於何時關閉的思考,傳送端和接收端,處理任務結束的思考