go編程學習

語言: CN / TW / HK

1.go 項目目錄結構

2.go build生成二進制文件

go build hello.go

go build -o hellotest hello.go #可以指定二進制文件名

3.go run 以腳本形式運行

go run hello.go

4.定義變量方法

package main

import "fmt"

//全局聲明

var n1 = 100

var n2 = 200

var name = "xiaohuihui"

//一次性聲明

var (

n3 = 300

n4 = 900

name2 = "mary"

)

func main(){

var i int
fmt.Println("i=",i) //默認值0

var num = 10.11
fmt.Println(num)

name := "tom" //等價於 var name string name = "tom"

fmt.Println(name)

var n1, n2, n3 int //多變量聲明

fmt.Println(n1,n2,n3)

var a, b, c = 100, "tom", 111
fmt.Println(a,b,c) //a = 100,b="tom",c=111

//類型推導
a, b, c := 100, "tom", 111
fmt.Println(a,b,c)  //a = 100,b="tom",c=111

}

5.變量注意

package main

import "fmt"

func main(){

var i int = 10

i = 30

// 只能同一類型不斷變化 不正確賦值i = "50"

//var i int = 50 //變量在同一作用域不能重名

}

6.加號運算

package main

import "fmt"

func main(){

var a,b int = 1,2
var resp int
resp = a + b
fmt.Println(resp)

var str1 = "gello"
var str2 = "world"
var res = str1 + str2
fmt.Println(res)

}

7.整數,有符號整數類型int int8,int16,int32,int64 ,無符號整數uint,uint8,uint16,uint32,uint64

package main

//import "fmt"

import (

"fmt"

"unsafe"

)

func main(){

var j int8 = -128  //int8 佔1個字節,1個字節佔8個bit  小於-128回報錯
fmt.Println(j)

var i uint8 = 255 //uint 大於255回報錯 0~255
fmt.Println(i)

var c byte = 255 // byte範圍0~255,經常用來存字母
fmt.Printf("j 的類型%T", j) //Printf格式化輸出變量類型
fmt.Printf("j 的類型%T, 佔用字節數%d", j, unsafe.Sizeof(j))

}

8.浮點型float32單精度,佔用4個字節,float64雙精度(默認使用64),佔用8個字節,浮點數都是有符號的

package main

import (

"fmt"

)

func main(){

var price float32 = 89.123
fmt.Println(price)
var num1 float32 = -89.11111111111 //精度損失
var num2 float64 = -123.19100002333
fmt.Println(num1)
fmt.Println(num2)
var num3 = 1.1
fmt.Printf("num3數據類型 %T\n",num3)

//科學計數法表示小數
num4 := 5.1234566e2
fmt.Println(num4)

}

注:

1.go語言入口是main函數

2.go語言嚴格區分大小寫

3.go方法由一條一條語句構成,每條語句會自動加分號

4.go是一行一行編譯因此一行一條語句,否則編譯報錯

5.go定義的變量或引入的包必須用到,否則報錯

6.大括號成對出現

分享到: