• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

go基础——基本数据类型

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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\n", b1, b1)
	b2 := false
	fmt.Printf("%T,%t\n", 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\n", i1, i1)
	fmt.Printf("%d,%T\n", i2, i2)

	//byte:uint8的别称
	//rune:int32的别称
	var i3 uint8 = 100
	var i4 byte = i3
	fmt.Printf("%d,%T\n", i4, i4)

	//类型推断,默认为int
	var i5 = 500
	fmt.Printf("%d,%T\n", i5, i5)

	//3.浮点:float32,float64
	var f1 float32 = 3.1415926
	var f2 float64 = 3.1415926
	fmt.Printf("%f,%T\n", f1, f1) //默认保留6位小数
	fmt.Printf("%f,%T\n", f2, f2)
	fmt.Printf("%.2f,%T\n", 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\n",s1,s1)
	fmt.Printf("%s,%T\n",s2,s2)

	//2.单引号双引号区别
	s3 := 'a'
	s4 := "a"
	fmt.Printf("%d,%T\n",s3,s3)	//单引号是ASCII码,int32类型
	fmt.Printf("%s,%T\n",s4,s4)
	s5 := '天'
	fmt.Printf("%d,%T,%c,%q\n",s5,s5,s5,s5)	//单引号中文,是Unicode编码

	//3.转义字符
	fmt.Println("\"haha\"")
	fmt.Println(`"haha"`)
	fmt.Println("`haha`")
	fmt.Printf("hello\tworld\n")
}

彗星,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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go语言开发培训班哪里好发布时间:2022-07-10
下一篇:
Go语言基础之指针发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap