Go语言的基础类型

一基础数据类型 

一、布尔型(Bool)

  • 定义:表示逻辑真 / 假,仅有两个值:true 和 false
  • 内存占用:1 字节
  • 使用场景:条件判断、逻辑运算

二、数值型(Numeric)

1. 整数类型(Integer)

  • 特殊类型
    • byteuint8 的别名,用于处理 ASCII 字符
    • runeint32 的别名,用于表示 Unicode 字符(如中文、 emoji)

2. 浮点类型(Float)

三,字符串型(String)

  • 本质:不可变的 UTF-8 编码字节序列
  • 特性
    • 支持索引访问:s[0] 获取第一个字节(非字符!)
    • 字符串拼接:+ 运算符
    • 原生支持 Unicode,可包含任意字符(中文、表情等)
    • 1. byte 类型

    • 定义与本质byte 是 uint8 的别名,占用 1 个字节的内存空间,其取值范围是 0 到 255。在 Go 里,byte 类型主要用于处理 ASCII 字符,因为 ASCII 字符集里的字符可以用一个字节来表示。
    • 使用场景:当你处理只包含 ASCII 字符的字符串时,用 byte 类型会比较合适,比如处理简单的英文文本、基本的数字和符号等。
    • 2. rune 类型

    • 定义与本质rune 是 int32 的别名,占用 4 个字节的内存空间。它主要用于表示 Unicode 码点,能够处理包括中文、日文、韩文、表情符号等各种非 ASCII 字符。
    • 使用场景:当字符串包含非 ASCII 字符时,就需要使用 rune 类型。因为非 ASCII 字符在 UTF - 8 编码下可能会占用多个字节,而 rune 可以完整地表示一个 Unicode 字符。

四.使用样例

package mainimport ("fmt"
)func main() {// 布尔型var b bool = truefmt.Printf("布尔型: 值为 %v,类型是 %T\n", b, b)// 整数类型var i8 int8 = -128var i16 int16 = -32768var i32 int32 = -2147483648var i64 int64 = -9223372036854775808var u8 uint8 = 255var u16 uint16 = 65535var u32 uint32 = 4294967295var u64 uint64 = 18446744073709551615var by byte = 255var r rune = 'A'fmt.Printf("int8: 值为 %v,类型是 %T\n", i8, i8)fmt.Printf("int16: 值为 %v,类型是 %T\n", i16, i16)fmt.Printf("int32: 值为 %v,类型是 %T\n", i32, i32)fmt.Printf("int64: 值为 %v,类型是 %T\n", i64, i64)fmt.Printf("uint8: 值为 %v,类型是 %T\n", u8, u8)fmt.Printf("uint16: 值为 %v,类型是 %T\n", u16, u16)fmt.Printf("uint32: 值为 %v,类型是 %T\n", u32, u32)fmt.Printf("uint64: 值为 %v,类型是 %T\n", u64, u64)fmt.Printf("byte: 值为 %v,类型是 %T\n", by, by)fmt.Printf("rune: 值为 %v,类型是 %T\n", r, r)// 浮点类型var f32 float32 = 3.1415926var f64 float64 = 3.141592653589793fmt.Printf("float32: 值为 %v,类型是 %T\n", f32, f32)fmt.Printf("float64: 值为 %v,类型是 %T\n", f64, f64)// 复数类型var c64 complex64 = 3 + 4ivar c128 complex128 = 3 + 4ifmt.Printf("complex64: 值为 %v,类型是 %T\n", c64, c64)fmt.Printf("complex128: 值为 %v,类型是 %T\n", c128, c128)// 字符串类型var s string = "Hello, World!"fmt.Printf("字符串型: 值为 %v,类型是 %T\n", s, s)
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/72926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【愚公系列】《高效使用DeepSeek》019-外语学习

🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! 👉 江湖人称"愚公搬代码",用七年如一日的精神深耕技术领域,以"…

发布第四代液晶电视,TCL引领全新美学境界

在不断革新的消费电子领域中,电视行业在视觉体验上正面临重要的美学挑战。如何打破全面屏时代的物理束缚,将家居空间提升到“视觉无界”的层次,以及如何让尖端技术更好地服务于影像沉浸感,成为行业关注的焦点。 3月10日&#xff…

剑指 Offer II 113. 课程顺序

comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20113.%20%E8%AF%BE%E7%A8%8B%E9%A1%BA%E5%BA%8F/README.md 剑指 Offer II 113. 课程顺序 题目描述 现在总共有 numCourses 门课需要选,记为 0 到 n…

【C++】STL库面试常问点

STL库 什么是STL库 C标准模板库(Standard Template Libiary)基于泛型编程(模板),实现常见的数据结构和算法,提升代码的复用性和效率。 STL库有哪些组件 STL库由以下组件构成: ● 容器&#xf…

【问题解决】Postman 测试报错 406

现象 Tomcat 日志 org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException Resolved org.springframework.web.HttpMediaTypeNotAcceptableException: No acceptable representation HTTP状态 406 - 不可接收 的报错,核心原因 客…

第3节:AWK的特点和优势

1 第3节:AWK的特点和优势 AWK是一种功能强大的文本处理工具,具有以下特点和优势: 1.1.1 简洁性 AWK的语法简洁明了,对于简单的数据处理任务,通常只需编写简短的命令即可完成。例如,要从一个文本文件中提…

Flutter 打包 ipa出现错误问题 exportArchive

一、错误信息: Encountered error while creating the IPA: error: exportArchive: "Runner.app" requires a provisioning profile with the Push Notifications feature. Try distributing the app in Xcode: open /project/your_app/build/ios/archive/Runner.…

STC89C52单片机学习——第28节: [12-2] AT24C02数据存储秒表(定时器扫描按键数码管)

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做! 本文写于:2025.03.20 51单片机学习——第28节: [12-2] AT24C02数据存储&秒表(定时器扫…

Verilog-HDL/SystemVerilog/Bluespec SystemVerilog vscode 配置

下载 verible https://github.com/chipsalliance/verible的二进制包 然后配置 vscode

STM32使用HAL库,模拟UART输出字符串

测试芯片是STM32F103C8T6&#xff0c;直接封装好了&#xff0c;波特率是 9600 MyDbg.h #ifndef __MYDBG_H #define __MYDBG_H #include "stm32f1xx_hal.h" #include <stdio.h> #include <stdarg.h>/*使用GPIO口 模拟 UART 输出字符串 */ //初始化调试…

[工控机安全] 使用DriverView快速排查不可信第三方驱动(附详细图文教程)

导语&#xff1a; 在工业控制领域&#xff0c;设备驱动程序的安全性至关重要。第三方驱动可能存在兼容性问题、安全漏洞甚至恶意代码&#xff0c;威胁设备稳定运行。本文将手把手教你使用 DriverView工具&#xff0c;高效完成工控机驱动安全检查&#xff0c;精准识别可疑驱动&a…

HTML5响应式使用css媒体查询

HTML 负责搭建页面结构&#xff0c;CSS 负责样式设计&#xff0c;并且通过媒体查询实现了较好的响应式效果&#xff0c;能够适应不同屏幕尺寸下面就是写了一个详细的实例。 CSS 部分 * {margin: 0;padding: 0;box-sizing: border-box; } * 是通配选择器&#xff0c;会选中页面…

洛谷P1434 [SHOI2002] 滑雪

P1434 [SHOI2002] 滑雪 - 洛谷 代码区&#xff1a; #include<algorithm> #include<iostream> #include<cstring> using namespace std;const int MAX 105; int r, c; int arr[MAX][MAX], dp[MAX][MAX]; int xindex[4] {-1,1,0,0};//上下左右 int yindex[…

【操作系统】进程间通信方式

进程间通信方式 前言 / 概述一、管道管道命名管道 二、消息队列三、共享内存四、信号量信号量概述互斥访问条件同步信号 五、socket总结 前言 / 概述 每个进程的用户地址空间都是独立的&#xff0c;⼀般而言是不能互相访问的&#xff0c;但内核空间是每个进程都共享的&#xff…

WPF 布局中的共性尺寸组(Shared Size Group)

1. 什么是共性尺寸组&#xff1f; 在 WPF 的 Grid 布局中&#xff0c;SharedSizeGroup 允许多个 Grid 共享同一列或行的尺寸&#xff0c;即使它们属于不同的 Grid 也能保持大小一致。这样可以保证界面元素的对齐性&#xff0c;提高布局的一致性。 SharedSizeGroup 主要用于需…

Netty源码—2.Reactor线程模型二

大纲 1.关于NioEventLoop的问题整理 2.理解Reactor线程模型主要分三部分 3.NioEventLoop的创建 4.NioEventLoop的启动 4.NioEventLoop的启动 (1)启动NioEventLoop的两大入口 (2)判断当前线程是否是NioEventLoop线程 (3)创建一个线程并启动 (4)NioEventLoop的启动总结 (…

前端项目中应该如何选择正确的图片格式

在前端项目中选择正确的图片格式是优化页面性能、提升用户体验的关键步骤之一。以下是常见图片格式的特点、适用场景及选择建议&#xff0c;帮助你在不同场景下做出最优决策&#xff1a; 一、常见图片格式对比 格式特点适用场景不适用场景JPEG- 有损压缩&#xff0c;文件小- 不…

保姆级 STM32 HAL 库外部中断教学

1. 外部中断概述 为什么用外部中断&#xff1f; 当按键按下时&#xff0c;CPU 无需轮询检测引脚状态&#xff0c;而是通过中断机制立即响应&#xff0c;提高效率&#xff0c;适用于实时性要求高的场景。 关键概念 EXTI (External Interrupt/Event Controller)&#xff1a;ST…

Postman高级功能深度解析:Mock Server与自动化监控——构建高效API测试与监控体系

引言&#xff1a;Postman在API开发中的核心价值 在数字化时代&#xff0c;API&#xff08;应用程序编程接口&#xff09;已成为系统间交互的“神经网络”&#xff0c;其质量直接影响用户体验与业务连续性。然而&#xff0c;传统API测试面临两大挑战&#xff1a; 开发阶段依赖…

【程序人生】成功人生架构图(分层模型)

文章目录 ⭐前言⭐一、根基层——价值观与使命⭐二、支柱层——健康与能量⭐三、驱动层——学习与进化⭐四、网络层——关系系统⭐五、目标层——成就与财富⭐六、顶层——意义与传承⭐外层&#xff1a;调节环——平衡与抗风险⭐思维导图 标题详情作者JosieBook头衔CSDN博客专家…