標籤:預設 目錄 qpi 輸出 string 開發 技術分享 記憶 結束
目錄
- go簡介
- 安裝
- hello world
- 函數
- 變數
- 常量
- 可見度規則
- 結束語
前言: 最近組內要試水區塊鏈,初步方案定為使用fabirc來弄,而fabric的智能合約就是用go寫的,藉此機會正好學下go,本文也是從零開始,將go的基本文法,結構體,函數,方法,介面,並發等以小demo的方式進行講解,有的地方會對比java加深記憶
go簡介
go又稱golang 是由Google開發,於2009年11月開源的一種服務端程式設計語言,go 很簡潔,高效,支援並發 ,總之值得一看—— 維基百科
安裝
- go環境: go官網下載 安裝就是一路next
- ide: liteIDE官網下載 我用的是 liteIDE ,下載壓縮包之後直接解壓使用,怎麼用就自己學習下很簡單的
hello world
學習每種程式設計語言都是從hello world開始的,本次也是
package mainimport ( "fmt")func main() { fmt.Println("hello world")}
直接在ide中運行輸出:hello world
一個.go檔案通常會包括
- 聲明包: package
- 引入包: import
- 變數/常量: var /const
- 函數: func
聲明包
使用 packge 關鍵字來聲明一個包,每個 Go 程式都由包構成的
引入包
使用 import 關鍵字來匯入所需的包,go語言強制規定,匯入的包必須被使用否則編譯不過
import "fmt"import "math"//更簡便的寫法import ( "fmt" "math")
函數
使用 func 關鍵字來聲明一個函數
常用結構:
func methodName(var1 int,var2 int) int{ ..... return xxx }
注意:與java不同的地方
- 入參的結構:變數名在前,類型在後,如(var1 int,var2 int)
java是類型在前,變數名在後
- 傳回值:函數的傳回值在參數的後面
java中是在方法名之前
一個.go只能聲明一個main函數,否則編譯不過
helloworld demo 的main函數沒有入參也沒有傳回值,所以可以省略
變數
使用 var 聲明一個變數列表,跟函數的參數列表一樣,類型在最後;
var 也是可以定在包內和函數內;
如果定義的變數沒有賦值則預設賦初始值:
- 數實值型別為 0
- 布爾類型為 false
- 字串為 ""
var isfalse boolvar istrue bool = truefunc main() { var num int fmt.Println(num, isfalse, istrue)}
定義多個及初始值
如果初始化值已存在,則可以省略類型;變數會從初始值中獲得類型
var isfalse, istrue, x = true, false, "chenmingyu"func main() { fmt.Println(isfalse, istrue, x)}
當兩個或多個變數類型相同時,只需要寫最後一個變數的類型,如:x int, y int 可以寫成 x, y int
函數中,簡潔指派陳述式 := 可在類型明確的地方代替 var 聲明,只能在函數內使用,所以函數外只能用var
func main() { var1 := "mingyu" fmt.Println("say hello", var1)}
常量
使用const 關鍵字來聲明常量,如:
const word = "hello go"func main() { fmt.Println(word)}
函數的傳回值
go 語言函數支援返回任意數量的傳回值,如:
func transform(x, y string) (string, string) { return y, x}func main() { a, b := transform("say", "hello") fmt.Println(a, b)}
可見度規則
在go中使用首字母大小寫來決定該常量、變數、結構體、函數、介面是否可以被外部包調用
- 首字母小寫就相當於java中的 private
- 首字母大寫就相當於java中的 public
package mainimport ( "fmt" "math")func main() { fmt.Println(math.Abs(12)) //小寫報錯 undefined: math.abs fmt.Println(math.abs(12))}
結束語
初識 go 語言系列
- [x] 初始 go 語言
- [ ] 初識 go 語言:文法及類型
- [ ] 初識 go 語言:方法,介面及並發
注意:本篇文中針對go環境的安裝及ide的安裝提供了網址,下載後可自行安裝,liteIDE的使用可以自行學習很簡單的
學習一門新的程式設計語言。最重要的就是寫,看三遍不如自己碼一遍,所以開始吧
學習網站:https://tour.go-zh.org
關注我的公眾號
初識 go 語言