注釋
給別人看的,機器并不會執行這行陳述句
1.單行注釋
// 我是單行注釋
2.多行注釋
/*
我是多行注釋
我是多行注釋
我是多行注釋
我是多行注釋
*/
// 這是一個main函式,這個是go語言啟動的入口
func main() {
//fmt.Println :列印一句話,然后執行完畢后,進行換行
fmt.Println("Hello,Word")
}
變數
字面理解為變數就是會變化的量
package main
import "fmt"
func main() {
var name string = "DuPeng"
fmt.Println(name)
}
注意:如果在點擊這里執行會出錯

出錯提示:專案里有多個main方法

正確執行方式:滑鼠單擊右鍵執行,一定要在main方法外! 一定要在main方法外 !一定要在main方法外,重要事情說三遍

變數的定義
var name type
name
name 為變數,它指向的是地址,而這個地址指向記憶體空間,而記憶體空間的資料是可以更換的

var
宣告變數的關鍵字,固定的寫法,記住即可
type
代表變數的型別
定義多個變數
package main
import "fmt"
// “=” 賦值符號 將等號右邊的值賦值給等號左邊
func main() {
var (
//姓名
name string
//年齡
age int
//地址
addr string
)
//string 默認值:空
//int 默認值:0
fmt.Println(name, age, addr)
}
變數的初始化
標準格式
var 變數名 型別 =值(運算式)
也可以先定義,再賦值
package main
import "fmt"
func main() {
// “=” 賦值符號
var (
//姓名
name string
//年齡
age int
//地址
addr string
)
name = "dupeng"
age = 22
addr = "成都"
//string 默認值:空
//int 默認值:0
fmt.Println(name, age, addr)
}

短變數宣告并初始化
import "fmt"
func main() {
// :=自動推導
name := "dupeng"
age := 18
fmt.Println(name, age)
//列印輸出name和age的型別
fmt.Printf("%T,%T", name, age)
}
列印輸出宣告型別

記憶體地址
列印記憶體地址
import "fmt"
func main() {
var num int
num = 100
fmt.Printf("num:%d,記憶體地址:%p", num, &num)
}
不要忘記取地址符

值發生變換而記憶體地址不會發生改變,但每次重啟系統就會重新分配一個新的地址空間

變數交換
package main
import "fmt"
func main() {
/*
在其他語言中 變數的交換為下列代碼
a=100
b=200
temp=0
temp=a
a=b
b=temp
*/
// 而在go語言中
var a int = 100
var b int = 200
b, a = a, b
fmt.Println(a, b)
}

匿名變數
特點是"_","_"本身就是一個特殊字符
被稱為空白識別符號,任何賦值給這個識別符號的值都會被拋棄,這樣可以加強代碼的靈活性
package main
import "fmt"
func test() (int, int) {
return 100, 200
}
func main() {
a, b := test()
fmt.Println(a, b)
}
當我們不想接收第二個值時可以廢棄掉
package main
import "fmt"
func test() (int, int) {
return 100, 200
}
func main() {
a,_ := test()
fmt.Println(a)
}

變數的作用域
一個變數(常量、型別或函式)在程式中都有一定的作用范圍,稱之為作用域,
區域變數
在函式體宣告的變數,只作用在函式體內
全域變數
在函式體外宣告的變數為全域變數
全域變數必須以var關鍵字開頭,如果要在外部包使用全域變數的首字母必須大寫

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/529825.html
標籤:Go
上一篇:Go | 淺談包管理模式
