- J-all
Go Lang (1)
大家好。我係Joe,係J-all嘅Software Engineer。
今次想同大家講下Go (http://golang.org)呢隻programming language。
Go Lang Example
學一隻新programming language嘅時候,由example 開始係一個唔錯嘅方法。
所以今日首先想介紹一個網站: Go by Example (https://gobyexample.com/)。
我地先由 Hello World (https://gobyexample.com/hello-world) 開始。
Package
喺度講解一下Go。
每個Go file (*.go) 都要under 某一個 package。
而今次我地個main.go會放喺 package main 入面。
另外我地仲要provide 一個entry point 俾成個 package main, 而func main() {} 就係呢個package 嘅 entry point啦。
喺 Hello world 入面,用咗一個package 叫fmt (Format)。
fmt package 提供咗 Println /Printf 等嘅 on screen text printing function(log 可以用log package)。
Variables
了解咗最基本嘅 structure 之後,我地轉去睇下Variables (https://gobyexample.com/variables)。
喺go 要 define 一個variable 有好幾種方法:
假如我地要define 一個 string type 叫 a 嘅variable, value 係 "initial"。
方法一:
var a = "initial"
方法二:
a := "initial"
方法三:
var a string
a = "initial"
Functions
接住落嚟講下 Functions
Function 有分 export 同唔export 兩種。
function name 細楷開頭嘅係 unexport function, 相反地大楷嘅就係 export function。
Unexport function 只有同package 嘅其他function access 到,相反export function 就係其他package 都call 到。
睇下 Functions 個例子 (https://gobyexample.com/functions)。
func plus(a int, b int) int {
return a + b
}
plus 係 function 名, 佢食兩個variable a 同b,兩個都係 int,而return type 係 int。
Call 嘅方法如下:
plus(1, 2)
// 3
另外 go 嘅func 係可以 return multiple values 嘅
可以參考一下 Multiple Return Values (https://gobyexample.com/multiple-return-values)
func vals() (int, int) {
return 3, 7
}
Call 嘅方法如下:
a, b := vals()
// a: 3, b: 7
如果你有啲return value 係唔需要,可以用 _ (underscore) 去接。
今日講到呢度先。
下次繼續