Skip to content

数据类型

在Go语言中,数据类型(Data Type)告诉计算机如何理解和存储数据。就像日常生活中,我们会区分数字、文字、真假判断一样,编程语言也需要这样的分类。

整数(Integer)

💡 概念说明

整数类型用于存储没有小数部分的数字,比如 1、-5、1000。Go提供了多种整数类型:

  • int - 最常用,根据系统自动选择32位或64位
  • int8int16int32int64 - 指定位数的整数
  • uint - 无符号整数(只能是正数和0)

提示

新手直接使用 int 就够了,它能满足大部分需求。

📝 代码示例

go
package main

import "fmt"

func main() {
    var age int = 25           // 声明整数变量
    var temperature int = -10   // 可以是负数
    score := 95                 // 简短声明方式
    
    fmt.Println("年龄:", age)
    fmt.Println("温度:", temperature)
    fmt.Println("分数:", score)
}

运行结果:

年龄: 25
温度: -10
分数: 95

浮点数(Float)

💡 概念说明

浮点数用于存储带小数的数字,比如 3.14、-0.5、99.99。Go提供两种浮点类型:

  • float32 - 单精度浮点数
  • float64 - 双精度浮点数(推荐使用)

📝 代码示例

go
package main

import "fmt"

func main() {
    var price float64 = 19.99    // 商品价格
    var pi float64 = 3.14159     // 圆周率
    discount := 0.85             // 折扣(Go会自动识别为float64)
    
    fmt.Println("价格:", price)
    fmt.Println("圆周率:", pi)
    fmt.Println("折扣:", discount)
}

运行结果:

价格: 19.99
圆周率: 3.14159
折扣: 0.85

注意

整数和浮点数不能直接混合运算,需要类型转换。

字符串(String)

💡 概念说明

字符串用于存储文本信息,必须用双引号 "" 包裹。字符串可以包含中文、英文、数字、符号等任何文字内容。

📝 代码示例

go
package main

import "fmt"

func main() {
    var name string = "张三"        // 中文字符串
    var greeting string = "Hello"   // 英文字符串
    message := "Go语言真有趣!"      // 混合字符串
    
    fmt.Println(name)
    fmt.Println(greeting + ", " + name)  // 字符串拼接
    fmt.Println(message)
}

运行结果:

张三
Hello, 张三
Go语言真有趣!

提示

使用 + 号可以拼接字符串,就像把两段文字连接在一起。

布尔值(Boolean)

💡 概念说明

布尔值只有两个可能的值:

  • true - 真,表示"是"
  • false - 假,表示"否"

布尔值常用于判断和条件控制。

📝 代码示例

go
package main

import "fmt"

func main() {
    var isStudent bool = true     // 是否是学生
    var hasLicense bool = false   // 是否有驾照
    isAdult := true               // 是否成年
    
    fmt.Println("是学生吗?", isStudent)
    fmt.Println("有驾照吗?", hasLicense)
    fmt.Println("已成年?", isAdult)
}

运行结果:

是学生吗? true
有驾照吗? false
已成年? true

💪 练习题

练习1:计算商品总价

创建一个程序,声明商品单价(浮点数)、购买数量(整数),输出商品信息。

点击查看答案
go
package main

import "fmt"

func main() {
    var price float64 = 29.9  // 单价
    var quantity int = 3      // 数量
    
    fmt.Println("单价:", price)
    fmt.Println("数量:", quantity)
}

练习2:个人信息卡片

创建一个程序,使用不同数据类型存储并输出个人信息:姓名(字符串)、年龄(整数)、身高(浮点数)、是否在职(布尔值)。

点击查看答案
go
package main

import "fmt"

func main() {
    name := "李明"
    age := 28
    height := 175.5
    isEmployed := true
    
    fmt.Println("姓名:", name)
    fmt.Println("年龄:", age)
    fmt.Println("身高:", height, "cm")
    fmt.Println("在职:", isEmployed)
}

📌 小结

  • 整数(int):用于存储没有小数的数字,如年龄、数量
  • 浮点数(float64):用于存储带小数的数字,如价格、温度
  • 字符串(string):用于存储文本,必须用双引号包裹,可用 + 拼接
  • 布尔值(bool):只有 truefalse 两个值,用于表示"是"或"否"