package main
import
"fmt"
func
main()
第一行** package main 定義了包名。main 的話會編譯成乙個可執行檔案,main 是程式入口。
下一行 import 「fmt」 告訴 go 編譯器這個程式需要使用 fmt 包(的函式,或其他元素),fmt 包實現了格式化 io(輸入/輸出)的函式。
go install 先編譯,然後將生成的 exe 拷貝到 bin 目錄下,由於 bin 目錄已經新增到環境變數,因此任何位置可以直接執行這個 exe
a := 50 或 b := false。a 和 b 的型別(int 和 bool)將由編譯器自動推斷,類似 c++ 的 auto。
這是使用變數的首選形式,但是它只能被用在函式體內,而不可以用於全域性變數的宣告與賦值。
使用操作符 := 可以高效地建立乙個新的變數,稱之為初始化宣告。出現在 := 左側的變數不應該是已經被宣告過的,否則會導致編譯錯誤。
var s1 = string
靜態型別語言,之後 s1 只能是 string
var
( name string
// ""
age int
// 0
isok bool
// false
)
name =
"zhangsan"
age =
16 isok =
true
const pi =
3.1415926
const
( ok =
200 notfound =
404)
const
( n1 =
100 n2 // n2 = 100
n3 // n3 = 100
)
如果某一行宣告後沒有賦值,預設和上一行一致。
iota 在 const 出現時被重置為 0,const 每新增一行常量的宣告,iota會計數一次。
const
( a1 =
iota
// a1 = 0
a2 // a2 = 1
a3 // a3 = 2
)
const
( b1 =
iota
// 0
b2 // 1
_// 實際上自增了 1,目前是 2,但是丟棄了
b3 // 因此這裡是 3
)
// 插隊
const
( c1 =
iota
// 0
c2 =
100// c2 = 100 iota = 1
c3 =
iota
// iota = 2 c3 = 2
c4 // iota = 3 c4 = 3
)
c2 = 100 時,iota 還是有自增 1 的。
const
( c1 =
iota
// 0
c2 =
100// c2 = 100 iota = 1
c3 // c3 = 100
c4 // c4 = 100
c5 =
iota
// c5 = 4
)
const
( d1, d2 =
iota+1
,iota+2
// d1 = 1, d2 = 2
d3, d4 =
iota+1
,iota+2
// d3 = 2, d4 = 3
)
必須要新增一行 iota 才會加一,同一行中 iota 不會發生改變。
go 語言教程-菜鳥教程
IOTA與以太坊
物聯網應用的方式,一是直接基於現成的區塊鏈開發平台進行開發 如以太坊 二是自己從基礎開始打造區塊鏈。但以太坊雖然號稱區塊鏈2.0,在物聯網上的應用還是有著侷限性。而專為物聯網而生的iota,在一定程度上解決了以太坊的侷限性。以太坊和iota的差別 1.以太坊可以說是基於位元幣區塊鏈的創新,但是採用傳...
golang 短變數宣告
在golang中可以很方便的用 來初始化乙個變數 但是需要注意的是 是乙個變數宣告語句,而 是乙個賦值語句 因此你不能像賦值語句那樣去使用它 j 1 j 2 no new variables on left side of 簡短變數宣告語句只有對已經在同級詞法域宣告過的變數才和賦值操作語句等價,如果...
GO 學習之常量與iota
相對於變數,常量是恆定不變的值,多用於定義程式執行期間不會改變的那些值。常量的宣告和變數宣告非常類似,只是把var換成了const,常量在定義的時候必須賦值。舉例 package main import fmt 單個宣告常量 const pi 3.1415926 批量宣告常量 const statu...