Golang 變量基本數據類型基礎

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
   字符串:默認值""
 */
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章