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

Go语言基础--数据类型(布尔、字符串)

布尔类型

        Go语言的布尔类型非常直接,只有两个值:true 和 false。它常用于控制流语句(如iffor)的条件表达式中。

package main  

import (  

    "fmt"  

    "unsafe"  

)  

func main() {  

    var b bool = false  

    fmt.Println("b=", b)  

    // 布尔类型默认占用的存储空间  

    fmt.Printf("b占用的空间=%d字节\n", unsafe.Sizeof(b))  

    // 布尔类型的操作  

    if b {  

        fmt.Println("b is true")  

    } else {  

        fmt.Println("b is false")  

    }  

    // 修改布尔值  

    b = true  

    fmt.Println("b is now", b)  

}

字符串类型

Go语言的字符串是一串固定长度的字符序列,使用UTF-8编码来表示Unicode文本。字符串在Go中是不可变的。

package main  

import "fmt"  

func main() {  

    // 字符串定义  

    var str1 string = "hello world"  

    fmt.Println(str1)  

    // 字符串的不可变性  

    // str1[0] = 'H' // 这会导致编译错误  

    // 字符串的两种表示形式  

    var str2 string = "abc\nefg" // 使用双引号,会识别转义字符  

    fmt.Println(str2)  

    str3 := `abc\n""efg` // 使用反引号,原样输出  

    fmt.Println(str3)  

    // 字符串的拼接  

    var str4 = "welcome" + " to " + "beijing"  

    fmt.Println(str4)  

    // 字符串拼接的长表达式可以跨行  

    str5 := "hello " + "world" + "hello " +  

        "world" + "hello "  

    fmt.Println(str5)  

    // 基本数据类型的默认值  

    var i int  

    var f float64  

    var b bool  

    var s string  

    fmt.Println("int:", i, "float64:", f, "bool:", b, "string:", s)  

}    

        在这个示例中,我展示了如何定义和打印字符串,解释了字符串的不可变性,并演示了两种字符串表示形式(双引号和反引号)以及字符串的拼接。最后,我还展示了Go语言中几种基本数据类型的默认值。

注意:在Go中,尝试修改字符串中的字符(如str1[0] = 'H')会导致编译错误,因为字符串是不可变的。如果需要修改字符串,通常的做法是创建一个新的字符串。

基本数据类型的默认值 

        int为0,float32为0 float64为0  bool默认为false string为空       

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • QT 按钮延时以及滚动条提示
  • centos 下如何安装openjdk21
  • Springboot实现doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频在线预览功能,你学“废”了吗?
  • 【qt】跳转到另一个界面
  • 安全密码算法:SM3哈希算法介绍
  • 电子电气架构---EEA的发展趋势
  • 量化交易的基石:ExchangeSdk
  • (自用)仿写程序
  • 使用 Go 语言将 Base64 编码转换为 PDF 文件
  • 深入探索Amazon EC2:解锁云端计算的无限可能
  • 使用 grep 进行文本文件搜索
  • 网页开发——DOM与BOM
  • watchEffect 函数 与 watch 函数的区别
  • HTTP 请求流程
  • LeetCode 234 - 回文链表 C++ 实现
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • CSS中外联样式表代表的含义
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • MySQL的数据类型
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • springMvc学习笔记(2)
  • Sublime Text 2/3 绑定Eclipse快捷键
  • vue数据传递--我有特殊的实现技巧
  • Yii源码解读-服务定位器(Service Locator)
  • 当SetTimeout遇到了字符串
  • 电商搜索引擎的架构设计和性能优化
  • 仿天猫超市收藏抛物线动画工具库
  • 关于字符编码你应该知道的事情
  • 如何解决微信端直接跳WAP端
  • 使用 QuickBI 搭建酷炫可视化分析
  • 学习JavaScript数据结构与算法 — 树
  • 运行时添加log4j2的appender
  • 大数据全解:定义、价值及挑战
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​configparser --- 配置文件解析器​
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (Java)【深基9.例1】选举学生会
  • (java)关于Thread的挂起和恢复
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (简单) HDU 2612 Find a way,BFS。
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (转)VC++中ondraw在什么时候调用的
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .Net 基于MiniExcel的导入功能接口示例
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈