4、数据类型

1.基本数据类型

image

布尔类型bool
  • true
  • false
/*
	布尔型 :布尔型的值只可以是常量 true 或者 false
*/
var b1 bool = true
fmt.Printf("b1的类型为:%T \t 值为:%t", b1, b1)

b2 := false
fmt.Printf("b2的类型为:%T \t 值为:%t", b2, b2)
数值类型
  • 整数
    • 有符号: 最高位表示符号位,0正数,1负数,其余位表示数值
      • int8:(-128 到 127)
      • int16:(-32768 到32767)
      • int32:(-2147483648 到 2147483647)
      • int64:(-9223372036854775808 到 9223372036854775807)
    • 无符号:所有的位表示数值
      • uint8:(0 到 255)
      • uint16:(0 到 65535)
      • uint32:(0到 4294967295)
      • uint64:(0到 18446744073709551615)
    • byte <=> uint8
    • rune <=> int32
      类型推断定义数值时,默认是int类型
  • 浮点:就是小数
    • float32
    • float64
  • 复数:complex
// i2 = 200
// fmt.Println(i1)

// var i3 int64 = 1000
// GO语言中int 和 int64等,不是同一个类型
// i1 = i3 // cannot use i3 (variable of type int64) as type int8 in assignment

var i4 = 100
fmt.Printf("%T,%d\n", i4, i4)

var f1 float32
f1 = 2.22
var f2 float64
f2 = 3.1415
fmt.Printf("%T,%.1f\n", f1, f1)
fmt.Printf("%T,%.3f\n", f2, f2)

var f3 = 6.666
fmt.Printf("%T,%f\n", f3, f3)

image

string类型(字符串)
  • 1.概念:多个byte的集合,理解为一个字符序列

  • 2.语法:使用双引号"abc"、"hello"、"A"也可以使用go

  • 3.编码问题
    计算机本质只识别0和1
    A: 65,B:66,C:67.a:97,b:98..

    ASCII(美国标准信息交换码)

    中国的编码表:加入了中文
    gbk,兼容ASCII

    Unicode编码表:
    号称统一了全世界UTF-8,UTF-16,UTF-32...

  • 4.转义字符:

    • A:有一些字符,有特殊的作用,可以转义为普通的字符X
    • B:有一些字符,就是一个普通的字符,转义后有特殊的作用
      • \n:换行
      • \t:制表符
/**
 * @author ly (个人博客:https://www.cnblogs.com/qbbit)
 * @date 2023/3/26  18:13
 * @tags 喜欢就去努力的争取
 */
package main

import "fmt"

func main() {
	var s1 string
	s1 = "zs"
	
	fmt.Printf("%T,%s\n", s1, s1)
	
	s2 := "go"
	fmt.Printf("%T,%s\n", s2, s2)
	
	s3 := "`zs`"
	fmt.Println(s3)
	
	s4 := `"helloworld"`
	fmt.Println(s4)
	
	s5 := "hello \n wor \t ld"
	fmt.Println(s5)
}

image

数据类型转换

语法格式:Type(value)

  • 常数: 在有需要的时候,会自动转型
  • 变量: 需要手动转型 T(V)
    注意点:兼容类型可以转换
/*
	数据类型转换
		格式 : T(V)
*/
var a int8
a = 10
var b int16
b = 20
f1 := float32(a)
f2 := float64(b)

fmt.Printf("a的类型为:%T \t 值为:%d \n", a, a)
fmt.Printf("b的类型为:%T \t 值为:%d \n", b, b)
fmt.Printf("f1的类型为:%T \t 值为:%f \n", f1, f1)
fmt.Printf("f2的类型为:%T \t 值为:%f \n", f2, f2)

image

2.复合数据类型

TODO......

posted @   我也有梦想呀  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2022-03-26 SpringCloudAlibaba-OSS文件上传
点击右上角即可分享
微信分享提示