加号的基础应用
1、当左右两边都是数值型时,为加法运算
2、当左右两边都是字符串运算的时候,做字符串拼接
例子:
package main
import "fmt"
//+号的运用
func main() {
var i, j = 1, 2
var r = i + j //加法运算
fmt.Println("r=", r)
var str1, str2 = "hello", "world"
var str = str1 + str2 //做字符串pin'jie
fmt.Println("str=", str)
}
变量的数据类型
基本数据类型
- (a) 整数类型(int)
- (b) 浮点类型(float)
- (c) 字符型(byte)
- (d) 布尔类型(bool)
- (e) 字符串类型(string)
派生复杂数据类型
- (a) 指针类型(Pointer)
- (b) 数组类型
- (c) 结构化类型(struct)
- (d) 管道(Channel) 类型
- (e) 函数类型
- (f) 切片(slice)类型
- (g) 接口类型(interface)
- (h) Map 类型
整数类型
介绍
用于存放整数值的
加粗的为重点常用,初学记住这些就行了
类型 | 描述 |
---|---|
uint | 32位或64位 |
uint8 | 无符号 8 位整型 (0 到 255) |
uint16 | 无符号 16 位整型 (0 到 65535) |
uint32 | 无符号 32 位整型 (0 到 4294967295) |
uint64 | 无符号 64 位整型 (0 到 18446744073709551615) |
int | 32位系统就是32位,64位系统就是64位 |
int8 | 有符号 8 位整型 (-128 到 127) |
int16 | 有符号 16 位整型 (-32768 到 32767) |
int32 | 有符号 32 位整型 (-2147483648 到 2147483647) |
int64 | 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807) |
byte | uint8的别名(type byte = uint8) |
rune | int32的别名(type rune = int32),表示一个unicode码,用于中文字符处理 |
uintptr | 无符号整型,用于存放一个指针是一种无符号的整数类型,没有指定具体的bit大小但是足以容纳指针。 uintptr类型只有在底层编程是才需要,特别是Go语言和C语言函数库或操作系统接口相交互的地方。 |
特别的,
//int, uint, rune, byte的使用
var a int = 9000
fmt.Println("a=", a)
var b uint = 1
var c byte = 255
fmt.Println("b=", b, "c=",c)
整数类型的注意事项
1、Golang 各整数类型分为:有符号和无符号,int uint的大小和系统有关
2、Golang 的整数默认声明为 int 型
var n = 99 //n 是int类型
fmt.Printf("n 的类型是%T \n",n)
输出为:
n 的类型是int n占用的字节数是 8
3、如何在程序中查看某个变量的大小和数据类型
package main
import (
"fmt"
"unsafe" //应用unsafe包
)
func main() {
var n = 99 //n 是int类型
fmt.Printf("n 的类型是%T n占用的字节数是 %d\n", n, unsafe.Sizeof(n))
}
输出为:
n 的类型是int n占用的字节数是 8
4、Golang 程序中整形变量在使用时,遵守保小不保大的原则,即:在保证程序正确运行下,尽量使用占用空间小的数据类型。
如:年龄使用 byte
5、bit:计算机中最小的存储单位。byte:计算机中基本存储单元
`1byte = 8 bit`
浮点(小数)类型
介绍
用于存放小数
类型 | 范围 | 字节数 |
---|---|---|
float32 | -3.402e +38~3.402e +38 | 4字节 |
float64 | -1.797e +308~1.797e +308 | 8字节 |
var price float32 = 89.12
1、浮点数在机器中存放形式的简单声明,浮点数 = 符号位 + 指数位 + 尾数位
注意:浮点数都是有符号的
2、尾数部分可能丢失,造成精度损失。-123.0000901
var num1 float32 = -123.0000901
var num2 float64 = -123.0000901
fmt.Println("num1=", num1, "num2=", num2)
输出为:
num1= -123.00009 num2= -123.0000901
说明:float64精度更高
3、浮点数的存储分为三部分:符号位 + 指数位 + 尾数,在存储过程中,精度会有丢失
浮点型使用细节
1、Golang 浮点型有固定的范围和字段长度,不受操作系统的影响
2、Golang 的浮点型默认为
3、浮点型常量有两种表示形式
十进制形式:
科学计数法形式:
4、通常情况下,我们使用float64位
所有文章首发平台是微信公众号-极客印记,同步发布到CSDN,简书,掘金等平台博客--十安辰,喜欢的话,记得微信扫码关注我哦
有疑问加站长微信联系(非本文作者)