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.大括號成對出現

分享到: