go語言學習(1)——基礎知識

編譯設置

在代碼中導入卻沒有使用的包會再編譯時提示錯誤,禁止編譯。

GO的優點

更快的編譯
並行
原生支持utf8

GO手冊

go-wiki
godoc

GO命令

#檢查環境
go env

# 運行程序
go run xxx.go

go get

#測試
go test 文件

#安裝
go install 包名

go fmt

#測試編譯
go build

#查看go doc文檔
go doc -http=:8080

文件結構

/bin 存放可運行的程序
/pkg 存放依賴的包
/src

25個關鍵字或保留字:

break
default
func
interface
select
case
defer
go
map
struct
chan
else
goto
package
switch
const
fallthrough
if
range
type
continue
for
import
return
var

36 個預定義標識符

append
bool
byte
cap
close
complex
complex64
complex128
uint16
copy
false
float32
float64
imag
int
int8
int16
uint32
int32
int64
iota
len
make
new
nil
panic
uint64
print
println
real
recover
string
true
uint
uint8
uintptr

註釋方法

//單行註釋
/*多行註釋*/

main

只有main可以使用main函數。
可執行的程序有且只有一個main包。

變量聲明

首字母的大小寫區分變量的私有還是共有。使用小寫,變量就是私有的。
go變量沒有隱式轉化,只能強制地修改。
省略掉用和別名是不能同時使用的。

常量的聲明

const (
  常量名 = 值
  )

只能用在全局變量的聲明中,全局變量聲明不能省略var,不過可使用並行的方式聲明。
所有的變量都可以使用類型推斷。
局部變量不可以使用var()方式,但可使用並行方式。

變量組的形式

var(
  變量名 = 值
  )

並行方式

var a,b,c int
a,b,c = 1,2,3
#或者寫在一行內
#或省略var用:=替代

一般類型的聲明

type(
  變量 變量類型
  )

類型轉化

類型必須要兼容,不兼容的類型無法強制轉換。轉化只能進行顯示轉化。

# 變量聲明
var 名稱 類型

# 變量賦值
變量名 = 表達式

# 全都要的寫法
var 變量名 變量類型 = 表達式

變量自動推斷

形如:

變量名 := 值

系統自動推斷變量的類型,但不一定是你想要的類型。
有初始值的時候可放心使用自動推斷。

類型

  • bool
    只有true和false,不能用0,1來隱式轉化。
  • int
  • uint
    根據平臺來決定位數的整數。
  • int8
  • uint8
  • byte
    就是uint8
  • int16
  • uint16
  • int32
  • uint32
  • rune
    就是int32
  • int64
  • uint64
  • float32
  • float64
  • complex64
    複數類型
  • complex128
    複數類型
  • uintptr
    保存指針的32或64位整數型
  • array
  • struct
  • string
  • slice
  • map
    哈希表
  • chan
    通道
  • interface
  • func
    函數類型,可以賦值給變量。

類型零值

函數的零值,也就是默認值。數字類型的通常爲0,bool爲false,string爲空字符串 指針類型爲new。
array沒有指定大小時,會轉化成了一個切片類型。

其他

math包中的min和max大寫開頭的函數表示了一些值的範圍。
因爲支持utf8,可以支持中文的別名。
_ 表示佔位並且將要省略的變量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章