go語言中總共有25個關鍵字,如下所示:
作用:定義變數
舉例:
var x int=4 or x:=4
注意:a.在函式
中,:=
簡潔賦值語句在明確型別的
前提下,可以用於替代 var 定義。
b.:= 結構不能使用在函式外,函式外的每個語法塊都必須以關鍵字開始。
演示:
package main
import (
"fmt"
)func main()
作用:定義常量
定義:
const identifier [type] = value
a.
[type]型別可以省略,編譯器可以根據變數的值來推斷其型別.
顯示型別:const b string = "abc"
隱式型別:const b = "abc"
b.
多個相同型別的宣告可以簡寫為:
const name1 , name2 = value1 , value2
演示:
package main
import "fmt"
func main()
作用:包管理
a. package是
golang
最基本的分發單位和工程管理中依賴關係的體現。
b. 每個golang源**檔案開頭都擁有乙個
package
宣告,表示該
golang
**所屬的
package
。c. 要生成golang可執行程式,必須建立乙個名為
main
的package
,並且在該
package
中必須包含乙個名為
main()
的函式。
d. 在golang工程中,同乙個路徑下只能存在乙個
package
,乙個package
可以拆成多個原始檔組成。
作用:匯入
a. import關鍵字匯入的是
package
路徑b. import的目錄名和原始檔中使用的
package
名一致容易造成
import
關鍵字後即是
package
名的錯覺,真正使用時,這兩者可以不同。
舉例:
c. import 「
fmt」最常用的一種形式
d. import 「
./test
」匯入同一目錄下
test
包中的內容
e. import f 「
fmt」匯入
fmt,並給他啟別名f
f. import . 「
fmt」,將
fmt啟用別名」
.」,這樣就可以直接使用其內容,而不用再新增fmt,如
fmt.println
可以直接寫成
println
g. import _ 「
fmt」 表示不使用該包,而是只是使用該包的
init
函式,並不顯示的使用該包的其他內容。注意:這種形式的
import
,當import
時就執行了
fmt包中的
init
函式,而不能夠使用該包的其他函式。
作用:定義函式
定義:
func (p mytype ) funcname ( a, b int , c string ) ( r , s int )
注:關鍵字——func
方法名——funcname
引數——— a,b int,b string
返回值—— r,s int
函式體—— {}
演示:
//判斷a是否等於b
func (a double) isequal(b double) bool else if r < 0.0
return r < 0.0001
}
作用:用於在函式內部,退出函式執行過程
應用:
a.退出函式執行過程,不指定返回值
通常有兩種情況不需要指定返回值退出函式執行過程。第一是:函式沒有返回值;第二是:函式返回值有變數名,不需要顯示的指定返回值。
package main
import (
"fmt"
)func say(flag bool)
fmt.println("沒有返回值")
}func getstatus() (num int)
func main()
b.退出函式執行過程,並指定返回值當函式有返回值時,如果返回值沒有定義變數,那麼一定要使用return加上返回值退出函式。如下:
package main
import (
"fmt")
// getmsg函式需要返回乙個string型別值
func getmsg() string
func main()
延伸:a. 在返回值中定義變數,而return其它結果在函式定義時,雖然在返回值中定義了變數,但是在return出函式時,指定另外的變數作為返回結果,這樣也是可行的,但是意義卻不大。如下:
package main
import (
"fmt")
func getmsg() (msg string)
func main()
b. 在函式遞迴呼叫中使用return遞迴呼叫,就是函式在函式體內呼叫自身。函式在沒有結束之前,呼叫自身,表示巢狀層級增加一層。各個呼叫層中,函式執行完成,表示這一層執行完成。在函式遞迴呼叫中使用return,只會退出當前這一層的函式執行,並不會結束其他層的函式執行過程。使用
return
可以結束函式執行過程,阻止函式體內後邊的**執行。將對自身的呼叫寫在
return
後邊,可以停止函式的遞迴呼叫。如下:
package main
import (
"fmt")
func getmsg(index int)
fmt.println("遞迴呼叫層級是:", index)
getmsg(index + 1)}
func main()
注:由於作者是初入go語言時間不長,文章中有些技術點表述可能不是很詳細或者有問題,還望各位海涵,後期會逐漸增加,若有問題可聯絡作者,謝謝。 go語言基礎 關鍵字
定義 被程式語言保留而不讓程式設計人員作為識別符號使用的字串行,也可以稱為保留字 go語言中的關鍵字 go語言關鍵共計25個 chan func inte ce map和struct用來宣告和定義go語言的復合資料型別,分別與go語言的復合資料型別channel 通道 function 函式 int...
go關鍵字之select
select是go中的乙個控制結構,類似於switch語句,用於處理非同步io操作。select會監聽case語句中channel的讀寫操作,當case中channel讀寫操作為非阻塞狀態 即能讀寫 時,將會觸發相應的動作。select中的case語句必須是乙個channel操作 select中的d...
const , volatile 關鍵字分析
const修飾變數 在c語言中const修飾的變數是唯讀的,其本質還是變數,不是常量。const修飾的變數會在記憶體占用空間,不能作為左值進行賦值。本質上const只對編譯器有用,在執行時無用。因此const修飾的變數可以在程式執行時,通過指針對其進行改變。const修飾陣列 在c語言中const修...