zoukankan      html  css  js  c++  java
  • go基础——基本数据类型

    GO语言的数据类型:

    /*
    	GO语言的数据类型:
    	1.基本数据类型:
    		布尔类型:true,false
    		数值类型:整数,浮点,复数complex
    		字符串:string
    	2.复合数据类型
    		array,slice,map,function,pointer,struct,interface,channel...
    
    	1.值类型:存储的是数值本身,数据传递给其他变量时传递的是数据的副本。
    		int,float,string,bool,array,struct
    	2.引用类型:存储的是数据的内存地址,数据传递时传递的地址。默认零值是nil
    		slice,map,channel,function,pointer
    */
    

    布尔类型和数值类型

    package main
    
    import "fmt"
    
    func main() {
    
    	//1.bool
    	var b1 bool
    	b1 = true
    	fmt.Printf("%T,%t
    ", b1, b1)
    	b2 := false
    	fmt.Printf("%T,%t
    ", b2, b2)
    
    	//2.整数
    	/*
    		有符号,最高位表示符号位,0正,1负
    		int8,-128到127
    		int16,-32768到32767
    		int32,-2147483648到2147483647
    		int64,-9223372036854775808到9223372036854775807
    
    		无符号8位整型,所有位都表示数值
    		uint8,0到255
    		uint16,0到65535
    		uint32,0到4294967295
    		uint64,0到18446744073709551615
    	*/
    
    	//通常使用int和uint,位数根据操作系统自动选择
    	//但在语法角度,int和int64不是同一种类型
    	var i1 int = 1000
    	var i2 int64 = 2000
    	fmt.Printf("%d,%T
    ", i1, i1)
    	fmt.Printf("%d,%T
    ", i2, i2)
    
    	//byte:uint8的别称
    	//rune:int32的别称
    	var i3 uint8 = 100
    	var i4 byte = i3
    	fmt.Printf("%d,%T
    ", i4, i4)
    
    	//类型推断,默认为int
    	var i5 = 500
    	fmt.Printf("%d,%T
    ", i5, i5)
    
    	//3.浮点:float32,float64
    	var f1 float32 = 3.1415926
    	var f2 float64 = 3.1415926
    	fmt.Printf("%f,%T
    ", f1, f1) //默认保留6位小数
    	fmt.Printf("%f,%T
    ", f2, f2)
    	fmt.Printf("%.2f,%T
    ", f1, f1) //保留两位小数
    	fmt.Println(f2)
    }
    

    bool,true
    bool,false
    1000,int
    2000,int64
    100,uint8
    500,int
    3.141593,float32
    3.141593,float64
    3.14,float32
    3.1415926

    字符串

    package main
    
    import "fmt"
    
    /*
    	字符串:
    	1.概念:多个byte的集合,理解为一个字符序列
    	2.语法:
    		使用双引号"abc","hello"
    		也可以使用`abc`,`hello`
    
    */
    func main() {
    
    	//1.定义字符串
    	var s1 string = "彗星"
    	var s2 string = `恒星`
    	fmt.Printf("%s,%T
    ",s1,s1)
    	fmt.Printf("%s,%T
    ",s2,s2)
    
    	//2.单引号双引号区别
    	s3 := 'a'
    	s4 := "a"
    	fmt.Printf("%d,%T
    ",s3,s3)	//单引号是ASCII码,int32类型
    	fmt.Printf("%s,%T
    ",s4,s4)
    	s5 := '天'
    	fmt.Printf("%d,%T,%c,%q
    ",s5,s5,s5,s5)	//单引号中文,是Unicode编码
    
    	//3.转义字符
    	fmt.Println(""haha"")
    	fmt.Println(`"haha"`)
    	fmt.Println("`haha`")
    	fmt.Printf("hello	world
    ")
    }
    

    彗星,string
    恒星,string
    97,int32
    a,string
    22825,int32,天,'天'
    "haha"
    "haha"
    `haha`
    hello world

    数据类型转换

    package main
    
    import "fmt"
    
    /*
    	数据类型转换:
    	go语言是静态语言,定义、赋值、运算必须类型一致
    	语法:Type(Value)
    	注意:
    		兼容的类型才能转换
    		常数自动转换,变量才需要手动转换
    */
    func main() {
    	var a int8 = 10
    	var b int16
    	b = int16(a)
    	fmt.Println(a, b)
    }
    

    10 10

  • 相关阅读:
    Intersection of Two Linked Lists
    Tools:实现vmware虚拟机开机自启动
    Tools:实现ping操作带时间戳【windows+linux】
    Django:学习笔记
    Python:笔记2
    Python:笔记1_字符串处理【转载】
    Pycharm:使用笔记
    python:win下将py文件打包成exe
    python:选房抽签小工具
    RF:操作笔记
  • 原文地址:https://www.cnblogs.com/maxgongzuo/p/15250803.html
Copyright © 2011-2022 走看看