当前位置: 首页 > article >正文

GoLang教程003:数据类型介绍

文章目录

    • 2.2 数据类型介绍
      • 2.2.1 基本数据类型
      • 2.2.2 复合数据类型

2.2 数据类型介绍

在 Go 语言中,数据类型是构建程序的基础,分为以下几类:基本类型复合类型/派生类型。以下是 Go 中常见的数据类型及其介绍:

在这里插入图片描述

2.2.1 基本数据类型

  • 数值类型

    • 整数类型

      • 有符号整数:int, int8, int16, int32, int64

      • 无符号整数:uint, uint8 (别名为 byte), uint16, uint32, uint64

      • 示例:

        var age int = 30
        var count uint = 100
        var char byte = 'A' // 等同于 uint8
        
    • 浮点数类型

      • float32, float64

      • 示例:

        var pi float32 = 3.14
        var e float64 = 2.71828
        
  • 字符串类型

  • 类型string

  • 特点:字符串是不可变的,可以包含 Unicode 字符。

  • 示例:

    var greeting string = "Hello, Go!"
    fmt.Println(greeting)
    
  • 布尔类型

    • 类型bool

    • 取值truefalse

    • 示例:

      var isAvailable bool = true
      fmt.Println(isAvailable) // 输出: true
      

2.2.2 复合数据类型

数组

  • 定义:固定长度的相同类型元素的集合。

  • 语法:

    var arr [5]int = [5]int{1, 2, 3, 4, 5}
    fmt.Println(arr) // 输出: [1 2 3 4 5]
    

切片(Slice)

  • 定义:动态大小的数组。

  • 语法:

    var slice []int = []int{1, 2, 3}
    slice = append(slice, 4)
    fmt.Println(slice) // 输出: [1 2 3 4]
    

字典(Map)

  • 定义:键值对的集合,类似于其他语言的哈希表。

  • 语法:

    var m map[string]int = map[string]int{"a": 1, "b": 2}
    fmt.Println(m["a"]) // 输出: 1
    

结构体(Struct)

  • 定义:自定义数据类型,用于组织多个字段。

  • 语法:

    type Person struct {
        Name string
        Age  int
    }
    
    var p Person = Person{Name: "Alice", Age: 25}
    fmt.Println(p) // 输出: {Alice 25}
    

Go 提供了丰富且高效的数据类型,涵盖了基本类型(整数、浮点、字符串等)和复合类型(数组、切片、结构体、接口等),同时支持指针和动态类型,满足多种编程需求。


http://www.kler.cn/a/508385.html

相关文章:

  • Linux 管道操作
  • AI在SEO中的关键词优化策略探讨
  • Go语言简洁框架目录和高效的快发框架设计
  • Spring Boot 实战篇(四):实现用户登录与注册功能
  • VSCode代理配置导致的SSL证书验证错误及解决方案
  • Redis延迟队列详解
  • Java基础(二)
  • 基于 Spring Boot 和 Vue.js 的全栈购物平台开发实践
  • 正则表达式基础知识及grep、sed、awk常用命令
  • 【JVM-10】IBM HeapAnalyzer 工具使用指南:深入解析 Java 堆转储分析
  • 【微服务】SpringCloud 1-9章
  • R语言绘图
  • go语言gui窗口应用之fyne框架-自定义容器实现自定义布局,更灵活的显示控件
  • sparkSQL练习
  • 使用FineBI进行数据分析(入门级)
  • 天机学堂3-ES+Caffeine
  • 多个页面一张SQL表,前端放入type类型
  • C++实现设计模式---中介者模式 (Mediator)
  • 【机器学习:三十三(一)、支持向量机】
  • YOLOv11改进,YOLOv11检测头融合RFAConv卷积,并添加小目标检测层(四头检测),适合目标检测、分割等任务
  • RV1126+FFMPEG推流项目(7)AI音频模块编码流程
  • 游戏引擎学习第80天
  • VTK知识学习(36)-图像平滑
  • 【spark源码修改】hive3.1.3 spark3.5.4编译,需要修改源码,最终编译成功
  • 全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之一维数组(应用技巧)
  • linux 国产化命令