Golang学习之路一三基本数据类型
2023-12-27 21:24:48
    		Golang学习之路一三基本数据类型
基本数据类型
-  int8 是有符号类型,uint8 是无符号类型 
-  go 语言中不同类型的数据不能相加,会编译错误 
| 类型 | 名称 | 长度 | 零值 | 说明 | 
|---|---|---|---|---|
| bool | 布尔类型 | 1 | false | 值为 true 或 false, 不可以用数字代表 | 
| byte | 字节型 | 1 | 0 | uint8 | 
| rune | 字符类型 | 4 | 0 | 专用于存储 unicode 编码,等价于 uint32 | 
| int, uint | 整型 | 4 或 8 | 0 | 32 位或 64 位 | 
| int8, uint8 | 整型 | 1 | 0 | -128~127, 0~255 | 
| int16, uint16 | 整型 | 2 | 0 | -32768~32767, 0~65535 | 
| int32, uint32 | 整型 | 4 | 0 | -21 亿~21 亿, 0~42 亿 | 
| int64, uint64 | 整型 | 8 | 0 | |
| float32 | 浮点型 | 4 | 0.0 | 小数位精确到 7 位 | 
| float64 | 浮点数 | 8 | 0.0 | 小数位精确到 15 位 | 
| complex64 | 复数类型 | 8 | 0 | |
| complex128 | 复数类型 | 16 | 0 | |
| uintptr | 整型 | 4 或 8 | 足以存储指针的 uint32 或 uint64 整数 | |
| string | 字符串 | “” | utf-8 字符串 | 
整型
package main
import (
	"fmt"
	"reflect"
)
func main() {
	var v1 int
	v1 = 123
	v2 := 42
	fmt.Println(reflect.TypeOf(v1))
	fmt.Println(reflect.TypeOf(v2))
}
浮点型
package main
import (
	"fmt"
	"reflect"
)
func main() {
	var f1 float32
	f1 = 12.5
	f2 := 13.66
	fmt.Println(reflect.TypeOf(f1))
	fmt.Println(reflect.TypeOf(f2))
}
布尔型
package main
import (
	"fmt"
	"reflect"
)
func main() {
	// 只有true和false两个值
	var b1 bool
	b1 = false
	fmt.Println(b1)
	// 可以使用 == 或 != 得到布尔值
	b2 := (1!=2)
	fmt.Println(reflect.TypeOf(b2))
	// 使用 ! 对布尔类型进行取反
	b3 := !b2
	fmt.Println(b3)
}
byte 字符型
package main
import (
	"fmt"
	"reflect"
)
func main() {
	// 单引号赋值byte
	var ch byte
	ch = 'a'
	fmt.Println(ch)
	// 格式化输出
	fmt.Printf("ch = %c\n", ch)
	// uint8
	fmt.Println(reflect.TypeOf(ch))
}
字符串
package main
import "fmt"
func main() {
	// 字符串使用双引号赋值
	var s1 string
	s1 = "abc"
	fmt.Println(s1)
	// 取字符串中第一个字符
	ch := s1[0]
	fmt.Println(ch)
	// 反引号用来创建原生的字符串字面量(原格式输出)
	s2 := `hello
xxxxx
	world
`
	fmt.Println(s2)
}
    			文章来源:https://blog.csdn.net/yinjl123/article/details/135253989
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
    	本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!