在程序運行過程當中,其值能夠發生改變的量成爲變量spa
變量存在內存中,在程序運行時用來暫時存儲數據內存
在程序運行過程當中,其值不能夠發生改變的量成爲常量字符串
package main
import "fmt"
func main() {
//變量定義格式
//var 變量名 數據類型
//變量聲明 未初始化 值爲0
//var a int
//變量初始化
var a int = 123
//表達式 計算a+321的結果賦值給a
a = a + 321
//打印變量的值
fmt.Println(a);
}
package main
import "fmt"
func main() {
//在go語言中能夠根據變量賦值來肯定數據類型
//格式:
//變量名 := 值
a := 123 //int 整型
b := 3.14 //float64 雙精度浮點型
c := "你好" //string 字符串類型
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
//格式化打印
//佔位符 %T 打印數據對應的類型
fmt.Printf("%T\n",a)
fmt.Printf("%T\n",b)
fmt.Printf("%T\n",c)
}
//常量定義 方法一
const Max int = 10
//常量定義 方法二 自動推導類型
const Min = 10
/* 常量 存放在 全局區->常量區 */
/* 變量 存放在棧區 */
package main
import "fmt"
func main0501() {
//變量定義
//var a int =10
//常量定義 常量名建議使用大寫
const A int = 10
//A = 123 //err 常量在程序運行過程當中不能賦值
fmt.Println(A)
//fmt.Println(&A)//err 常量地址不能獲取
}
func main0502() {
//在程序運行過程當中 能夠將不須要修改的量 設置爲常量
//圓周率 3.14
const PI float64 = 3.14
r := 2.5
//圓的面積
s := PI * r * r
//圓的周長
l := 2 * PI * r
fmt.Println(s)
fmt.Println(l)
}
func main0503() {
//常量自動推導類型
const MAX = 10
const PI = 3.14
fmt.Printf("%T\n", MAX)
fmt.Printf("%T\n", PI)
}
func main() {
//全部的字面常量 存在內存中全局區-》常量
fmt.Println("hello")
a := 10
a = a + 123
}
package main
import "fmt"
func main() {
//定義多個變量
//var a,b,c,d int
//
//a=1
//b=2
//c=3
//d=4
//多重賦值
//var a, b, c, d int = 1, 2, 3, 4
//自動推導類型 進行多重賦值
//匿名變量 在數據定義或數據接收時 若是不想處理的數據能夠使用匿名變量_來接收數據可是不會處理
//注意:匿名變量不能夠打印
a, b, _, _ := 1, 2.22, 'a', "你好"
//fmt.Println(a, b, c, d)
fmt.Printf("%T\n",a)
fmt.Printf("%T\n",b)
//fmt.Println(_)//err
}
package main
import "fmt"
func main0701() {
//fmt.Print 打印數據不換行
//fmt.Println 打印數據並換行
fmt.Println("hello")
fmt.Println("world")
}
func main() {
//格式化輸出 須要根據個數進行佔位符使用
//%d 表示輸出一個整型數據
//%f 表示輸出一個浮點型數據 默認保留六位小數
//%T 表示輸出一個變量對應的數據類型
a := 123456
b:=3.149999
//%5d 表示數據位數爲5位 不足前面補空格
//%-5d 表示數據位數爲5位 不足後面補空格
//%05d 表示數據位數爲5位 不足前面補0
//若是數據超出位數 正常輸出
fmt.Printf("%5d\n",a)
//%.2f表示小數點保留兩位 會對第三位進行四捨五入
fmt.Printf("%.2f\n",b)
}
package main
import "fmt"
func main0801() {
var a int
var b float64
//經過鍵盤爲變量賦值
//& 是一個運算符 表示取地址運算符
//若是scan中有多個數據 能夠使用空格或換行表示接收結束
fmt.Scan(&a, &b) //阻塞式請求
fmt.Println(a)
fmt.Println(b)
}
func main() {
var a int
var b float64
//格式化接收數據 須要使用佔位符
fmt.Scanf("%d%f", &a, &b)
fmt.Println(a)
fmt.Println(b)
}
一、能夠使用字母、數字、下劃線string
二、只能以字母下劃線開頭class
三、不容許使用go語言關鍵字import
四、區分大小寫變量
五、見名知義數據類型