GoLang教程003:数据类型介绍

embedded/2025/1/17 6:42:32/

文章目录

    • 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 stringAge  int
    }var p Person = Person{Name: "Alice", Age: 25}
    fmt.Println(p) // 输出: {Alice 25}
    

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


http://www.ppmy.cn/embedded/154587.html

相关文章

【Idea启动项目报错NegativeArraySizeException】

项目场景: Idea启动项目报错(打包不报错),项目在服务器部署运行没有问题,尝试了重启idea、重启电脑、maven clean/install 都不行 maven-resources-production:sample: java.lang.NegativeArraySizeException: -5833…

FLASK创建下载

html用a标签 <!-- Button to download the image --> <a href"{{ url_for(download_file, filenameimage.png) }}"><button>Download Image</button> </a> 后端&#xff1a;url_for双大括号即是用来插入变量到模板中的语法。也就是绑…

第二讲 信息技术发展

1、综述 信息技术及其发展计算机软硬件新一代信息技术及应用 物联网计算机网络云计算存储和数据库区块链信息安全大数据信息技术发展人工智能虚拟现实 2、信息技术及其发展 1&#xff09;信息技术 - 概念&#xff1a;在信息科学的基础原理和方法下&#xff0c;获取信息&am…

【汇编器和编译器的区别】

汇编器&#xff08;Assembler&#xff09; 和 编译器&#xff08;Compiler&#xff09; 都是程序开发过程中将高级或低级代码转换为机器可执行代码的工具&#xff0c;但它们的功能和工作原理有所不同。以下是它们之间的主要区别&#xff1a; 1. 作用对象 汇编器&#xff08;Ass…

一文了解汽车嵌入式软件开发Franca IDL 知识

本文主要是对 Franca IDL 的作用和设计意图进行解释说明&#xff0c;并且给出其他具有类似功能的 IDL 的对比。用实际的例子来说明核心设计理念&#xff0c;帮助理解设计意图。相比而言&#xff0c;其他 Franca IDL 文章更加注重参考手册的功能&#xff0c;本文试图探求Franca …

信安大赛-应急响应

Ubuntu应急响应 1 提交攻击者的IP地址 2 识别攻击者使用的操作系统 3 找出攻击者资产收集所使用的平台 4 提交攻击者目录扫描所使用的工具名称 5 提交攻击者首次攻击成功的时间&#xff0c;格式&#xff1a;DD /MM/YY:HH:MM:SS 6 找到攻击者写入的恶意后门文件&…

【Kafka】Linux+KRaft集群部署指南

【Kafka】LinuxKRaft集群部署指南 摘要本地环境说明官网准备工作快速开始修改config/kraft/server.properties初始化数据存储目录 新节点加入集群启动停止测试创建topic创建生产者创建消费者 摘要 Kafka是一种高吞吐量的分布式发布订阅消息系统&#xff0c;它可以处理消费者在…

如何在前端给视频进行去除绿幕并替换背景?-----Vue3!!

最近在做这个这项目奇店桶装水小程序V1.3.9安装包骑手端V2.0.1小程序前端 最近&#xff0c;我在进行前端开发时&#xff0c;遇到了一个难题“如何给前端的视频进行去除绿幕并替换背景”。这是一个“数字人项目”所需&#xff0c;我一直在冥思苦想。终于有了一个解决方法…