Golang特性以及變量的使用方式

引言

Go語言(又稱Golang)結合了編譯語言的運行速度與腳本語言的開發速度,是Google開發的一種靜態強類型、編譯型、併發型,並具備垃圾回收功能的編程語言。編程

Golang特性

環境變量之GOROOT、GOPATH、Path併發

  • GOROOT: 指定了go sdk的安裝目錄
  • GOPATH: Golang的工做目錄
  • Path: 指定了go sdk的bin目錄

go run與go build編程語言

  • go build可將.go文件編譯成可執行文件,由於可執行文件打包了Golang的運行環境,因此文件變大了,且該可執行文件在沒有Golang運行環境下任然能夠運行,實際生產中通常使用go build編譯成可執行文件。
  • go run是一條編譯運行一體化的執行語句,因此運行速度沒有直接運行go build所編譯的可執行文件速度快,且執行go run須要Golang的運行環境。

其餘特性函數

  • Golang與其餘語言不同,一行只能寫一條語句,且不能超過80個字符
  • 定義的變量或者import的包若是沒有使用到,則代碼編譯不能經過
  • 行註釋爲//,塊註釋爲/* */,且塊註釋不能嵌套
  • 運算符兩邊必須各加一個空格
  • 前大括號 { 不能換行放置
  • Golang每條語句的末尾可不用加分號;
  • 內置gofmt能夠格式化文檔
  • 高併發與協程能力
  • 函數能夠返回多個值
  • 自動垃圾回收機制
  • defer延遲處理機制
  • 反射

Golang變量使用的三種方式

指定的變量類型,若不賦值,則使用默認值高併發

  • string: ""
  • bool: false
  • int int8 int16 int32(rune) int64: 0
  • uint uint8(byte) uint16 uint32 uint64 uintptr: 0
  • float32 float64: 0
  • complex64 complex128: 0

Golang變量推導: 可根據變量的值自行斷定變量的類型ui

package main
import "fmt"

func main() {
	var num = 10.11
	fmt.Println("num=", num)
	// num= 10.11
}
複製代碼

可省略var,可是注意 := 左邊的變量不能是已經聲明過的變量,不然編譯不能經過spa

package main
import "fmt"

func main() {
	name := "Tom"
	// := 的 : 不能省略
	// 等價於 var name string語句 加上 name = "tom"語句
	fmt.Println("name=", name)
}
複製代碼

END

一次性聲明code

package main
import "fmt"

// var n = 100
// var name = "jack"

var (
	n = 100
	name = "jack"
)
複製代碼

多變量聲明cdn

package main
import "fmt"

func main() {
	var n1, n2, n3 int
	fmt.Println("n1=", n1, "n2=", n2, "n3=", n3)
	// n1= 0 n2= 0 n3= 0

	var n4, name, n5 = 100, "tom", 888
	fmt.Println("n4=", n4, "name=", name, "n5=", n5)
	// n4= 100 name= tom n5= 888

	n6, sex, n7 := 111, "man", 777
	fmt.Println("n6=", n6, "sex=", sex, "n7=", n7)
	// n4= 100 name= tom n5= 888
}

複製代碼

一個區域的數據值能夠在同一類型範圍內不斷變化協程

package main
import "fmt"

func main() {
	var i int = 10
	i = 30
	i = 50
	fmt.Println("i=", i)
	// 只能在函數main範圍內變化 且只能爲int
}
複製代碼

變量在同一做用域不能重名

相關文章
相關標籤/搜索