Golang 的语言特点
- Go语言保证了既能达到静态编译语言的安全性能,又达到了动态语言开发维护的高效率
- 引入包的概念,Go语言的一个文件要在一个包里,不能单独存在。
- 垃圾回收机制,内存自动回收天然开发
- 函数可以返回多值 等等
基础数据类型
声明变量
- var 变量名 数据类型
变量赋值
- var 变量名 数据类型 = 数值
- 变量名 := 数值
整数型
- 有符号整型:int,int8,int32,int64
- 无符号整型:uint,uint8,uint32,uint64
- byte 一个字节,rune 一个中文占据的字节
浮点型
- float32,float64
字符类型
- 存储单个类型常用byte存储。
- Golang中字符串是由字节组成
- Go语言的编码由UTF-8编码,英文对应单个字节,中文对应3个字节
布尔类型
- 布尔了类型也叫bool类型,只有ture和false两个值
- 占一个字节
- 常用于 if和for语句
string类型
- Go的字符串是由单个字节连接起来的
- 双引号或单引号来引用
基本数据类型的默认值
- 整型:0
- 浮点型:0
- 字符串:""
- bool:false
基本数据类型的相互转换
var i int32 = 10
var n1 int64 = int64(i)
var n2 float32 = float32(i)
fmt.Printf("i type is %T\n",i)
fmt.Printf("i=%v,n1=%v,n2=%v",i,n1,n2)
- 不同类型的数值不能进行运算
var i int32 = 10
var n1 int64 = 20
var n2 int64
n2 = n1+i 这句编译会报错因为他们的类型不同
- 需改一下就可以执行
var i int32 = 10
var n1 int64 = 20
var n2 int64
n2 = int64(i)+int64(n1)
基础数据类型和string类型的转换
- 直接上代码
- 用到了Sprintf函数
var num int = 33
var num1 float32 = 10.5
var num2 bool = ture
var str string
str = fmt.Sprintf("%d\n",num) Sprint函数是把数值生成格式化字符串
fmt.printf("str type is %T str = %q\n",str,str)
str = fmt.Sprintf("%d\n",num1)
fmt.printf("str type is %T str = %q\n",str,str)
str = fmt.Sprintf("%d\n",num2)
fmt.printf("str type is %T str = %q\n",str,str)
欲知后事如何,且听下回分解,请诸位移步到我的下一篇笔记