package main
import "fmt"
func main() {
/*
常量:
1.概念:同變量類似,程序執行過程中數值不能改變
2.語法:
顯式類型定義
隱式類型定義
3.常數:
固定的數值:100,"abc"
*/
fmt.Println(100)
fmt.Println("hello")
//1.定義常量
const PATH string = "http:www.baidu.com"
const PI = 3.14
fmt.Println(PATH)
//fmt.Println(PI)
//2.嘗試修改常量的數值
//PATH = "http://www.sina.com" //cannot assign to PATH
//3.定義一組常量
const C1, C2, C3 = 100, 3.14, "haha"
const (
MALE = 0
FEMALE = 1
UNKNOW = 3
)
//4.一組常量中,如果某個常量沒有初始值,默認和上一行一致
const (
a int = 100
b
c string = "ruby"
d
e
)
fmt.Printf("%T,%d\n", a, a)
fmt.Printf("%T,%d\n", b, b)
fmt.Printf("%T,%s\n", c, c)
fmt.Printf("%T,%s\n", d, d)
fmt.Printf("%T,%s\n", e, e)
//5. 枚舉類型:使用常量組作爲枚舉類型。一組相關數值的數據
const (
SPRING = 0
SUMMER = 1
AUTUMN = 2
WINTER = 3
)
}
Golang 數據類型
/* Go語言的數據類型: 1.基本數據類型: 布爾類型:bool 取值:true,false 數值類型: 整數:int 有符號:最高位表示符號位,0正數,1負數,其餘位表示數值 int8:(-128 到 127) int16:(-32768 到 32767) int32:(-2147483648 到 2147483647) int64:(-9223372036854775808 到 9223372036854775807) 無符號:所有的位表示數值 uint8: (0 到 255) uint16:(0 到 65535) uint32:(0 到 4294967295) uint64: (0 到 18446744073709551615) int, uint byte:uint8 rune:int32 浮點:生活中的小數 float32,float64 複數:complex, 字符串:string 2.複合數據類型 array,slice,map,function,pointer,struct,interface,channel。。。 */ //1.布爾類型
常量自增方法iota
func main() {
/*
iota:特殊的常量,可以被編譯器自動修改的常量
每當定義一個const,iota的初始值爲0
每當定義一個常量,就會自動累加1
直到下一個const出現,清零
*/
const (
a = iota // 0
b = iota // 1
c = iota //2
)
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
const (
d = iota // 0
e // 1
)
fmt.Println(d)
fmt.Println(e)
//枚舉中
const (
MALE = iota // 0
FEMALE // 1
UNKNOW // 2
)
fmt.Println(MALE, FEMALE, UNKNOW)
}
字符串基礎
/* 字符串: 1.概念:多個byte的集合,理解爲一個字符序列 2.語法:使用雙引號 "abc","hello","A" 也可以使用`` 3.編碼問題 計算機本質只識別0和1 A:65,B:66,C:67... a:97,b:98... ASCII(美國標準信息交換碼) 中國的編碼表:gbk,兼容ASCII 中 家 Unicode編碼表:號稱統一了全世界 UTF-8,UTF-16,UTF-32... 4.轉義字符:\ A:有一些字符,有特殊的作用,可以轉義爲普通的字符 \',\' B:有一些字符,就是一個普通的字符,轉義後有特殊的作用 \n,換行 \t,製表符 */
//1.定義字符串
var s1 string
s1 = "王二狗"
fmt.Printf("%T,%s\n",s1,s1)
s2 := `Hello World`
fmt.Printf("%T,%s\n",s2,s2)
//2.區別:'A',"A"
v1 := 'A'
v2 := "A"
fmt.Printf("%T,%d\n",v1,v1) //int32
fmt.Printf("%T,%s\n",v2,v2)
v3 := '中'
fmt.Printf("%T,%d,%c,%q\n",v3,v3,v3,v3)
//3.轉義字符
fmt.Println("\"HelloWorld\"")
fmt.Println("Hello\nWor\tld")
fmt.Println(`He"lloWor"ld`)
fmt.Println("Hello`Wor`ld")
Golang變量名定義細節
/* 注意點: 1.變量必須先定義才能使用 2.變量的類型和賦值必須一致 3.同一個作用域內,變量名不能衝突 4.簡短定義方式,左邊的變量至少有一個是新的 5.簡短定義方式,不能定義全局變量 6.變量的零值,就是默認值 整型:默認值是0 浮點類型:默認是0 字符串:默認值"" */