Go 語言速覽(基本語法)

golang官方《A Tour of Go》學習筆記

基礎

包(package)

go 語言程序都由包構成,且從 main 包開始運行,程序中如果要使用其它包,需使用 import 語句導入

pakcage main
import(
	"fmt"
)
func main(){
	fmt.Println("Hello Go!")
}

Exported name

在 Go 語言中,如果一個名字的首字母是大寫字母,那麼把它稱之爲 Exported name,Exported name。當在代碼中導入一個包後,只能訪問這個包中的 Exported name。

package main
import(
	"fmt"
	"math"
)

func main(){
	fmt.Println("The Pi value is",main.Pi)
}

函數(funciton)

  • 函數可以有零個或多個參數
func add(x int, y int) int{
	return x + y
}
  • 如果兩個或多個連續的參數類型相同,除了最後一個參數,其它參數的類型可以省略。
func add(x, y int) int{
	return x + y
}
  • 函數可以返回任意多個返回值
func swap(x, y string)(string, string){
	return y, x
}
  • Named return values
package main

import "fmt"

func split(sum int) (x, y int){
    x = sum * 4 / 9
    y = sum - x
    return
}
func main(){
	fmt.Println(split(17))
}

變量

var 關鍵字用來聲明一組變量,類似於函數的參數列表,類型在最後面
var 語句既可以在包級別也可以在函數級別

func main(){
	var i int
	fmt.Println(i, c, python, java)
}

var 聲明語句中可以每個變量可以包含初始化值

var i, j int = 1,2

func main(){
	var c, python, java = true, false, "no!"
	fmt.Println(i, j, c, python, java)
}

在函數中,通常用短變量複製語句:=代替var語句

func main(){
	var i, j int = 1, 2
	k := 3
	c, python, java := true, false, "no!"
	
	fmt.Println(i, j, k, c, python, java)
}

在函數外面,每條語句必須以關鍵字(var,func,等)開頭,即:=不能用在函數外面。

基本類型

bool
string
int  int8  int16  int32  int64
uint uint8 uint16 uint32 uint64 uintptr
byte // alias for uint8
rune // alias for int32
     // represents a Unicode code point
float32 float64
complex64 complex128
package main
import(
	"fmt"
	"math/cmplx"
)

var (
	ToBe    bool		= false
	MaxInt	uint64		= 1<<64 - 1
	z		complex128  = cmplx.Sqrt(-5 + 12i)
)

func main(){
	fmt.Printf("Type: %T Value: %v\n", ToBe, ToBe)
	fmt.Printf("Type: %T Value: %v\n", MaxInt, MaxInt)
	fmt.Printf("Type: %T Value: %v\n", z, z)
}

多種不同類型的聲明語句可以用類似於包導入的方式聲明
通常情況下,int,uintuintptr 類型在 32 爲操作系統中佔用 32 字節,在 64 爲操作系統中佔用 64 個字節

零值

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