Go+类型转换、if

简介: 我们常用于整型来进行数字运算,他有几种类型:有符号整型:int8、int16、int32、int64。无符号整型:uint8、uint16、uint32、uint64。

类型


Go+的数据类型十分丰富


整型


我们常用于整型来进行数字运算,他有几种类型:


  1. 有符号整型:int8、int16、int32、int64。
  2. 无符号整型:uint8、uint16、uint32、uint64。


类型 描述
int8 有符号8位整型
int16 有符号16位整型
int32 有符号32位整型
int64 有符号64位整型
uint8 无符号8位
uint16 无符号16位
uint32 无符号32位
uint64 无符号64位


还有一些常见的特殊整型:


  1. uint:无符号整型,32位操作系统上就是32位,64位操作系统上就是64位。
  2. int:有符号整型,32位操作系统上就是32位,64位操作系统上就是64位。
  3. uintptr:无符号整型,常用于存放一个指针。


a := 12
println(a)
复制代码


字符串


字符串是我们用的最多的一种类型,我们一般使用双引号来表示这是一个字符串。


name := "hello world"
println(name)
复制代码


在字符串里面有一些特殊的字符串,这就是转义符,转义符指的是有特殊含义的字符串,常见的有以下几种:


  1. \r
  2. \n
  3. \t
  4. \'
  5. \"
  6. \


转义符 含义
\r 回车
\n 换行符
\t 制表符
\' 单引号
\" 双引号
\ 反斜杠


如果我妈需要打印双引号、单引号、或者反斜杠时,我们只需要在前面加一个反斜杠即可。


println("\\") // \
复制代码


如果我们需要打印多行的话,有一种简便的方法,直接用单引号括起来即可。


column := `第一行
第二行
第三行
`
println(column )
复制代码


浮点型


Go+支持两种类型的浮点型,分别时float32float64


  1. float32:32位的浮点型。
  2. float64:64位的浮点型


var num float32
num = 14.2
println(num)
复制代码


布尔类型


布尔类型就是常见的真与假,用bool来标记时一个布尔类型,布尔类型的默认值为false,且布尔类型无法参加运算,一般常与if语句连用。


var flag bool
println(flag)
复制代码


类型转换


类型转换指的是在日常开发中我们需要转换一些类型,将一种类型转换为另外一种类型,他的基本语法格式如下:


类型名称(变量名称)
复制代码


如果我们要把一个int类型的数转为float32的话可以这样写:


float32(12)
复制代码
var sum int = 100
 var count int = 3
println("未做转化前,两数相除值为: ",sum / count) // 33
println("转化后,两数相除值为: ",float32(sum)/float32(count)) // 33.333
复制代码


if条件语句


概述


我们有三种结构来控制程序的流程结构:


  1. 顺序结构:从上往下执行的代码就是顺序结构。
  2. 循环结构:满足某种条件可以重复不断地执行某种语句叫做循环结构。
  3. 选择结构:满足某种条件就执行,否则执行另外一个。


if语句


if语句就是一种选择结构,他有三种结构,对用不同的语法格式:


  1. if
  2. if ...else
  3. if else if


if


if按照字面意思是如果的意思,这个是最简单的一个循环语句,他代表的意思是当条件为真的时候,就会执行接下来的代码,具体语法如下:


if 判断表达式 {
    // 条件为真的时候执行的代码语句
}
复制代码


在括号体内写的是条件为真的执行语句。


if 1==1 {
    println("代码为真的")
} // 代码为真的
复制代码


if...else


我们一旦需要,如果...否则...,我们会发现,上面的不够用了,我们需要一个语句控制否则,这个时候就可以使用else。他的语法格式如下。


if 条件判断语句 {
  //条件为真的时候执行
  }else {
  //条件为假的时候执行
 }
复制代码


下面这段代码的意思时如果3除以2能整除,那么就打印3可以整除2,否则就打印3不可以整除2!


if 3/2 == 0 {
  println("3可以整除2")
}else{
  println("3不可以整除2!")
}
复制代码


if...else...if


如果我们需要做一些复杂的判断的话,比如说成绩ABCD的判定,上面两种条件判断都无法满足,我们就可以使用if...elseif


if 条件判断语句 {
  //条件1执行的语句
  }else if 条件判断语句{
  //条件2执行的语句
 }
复制代码


如果我们规定成绩,大于90为优秀,大于70为良好,小于60为不及格。

score := 85
if score > 90{
  println("优秀")
}else if score > 70 && score < 90{
  println("良好")
}else if score < 60{
  println("不及格")
}



相关文章
|
7月前
|
Go 开发者
Golang深入浅出之-Go语言流程控制:if、switch、for循环详解
【4月更文挑战第21天】本文介绍了Go语言中的流程控制语句,包括`if`、`switch`和`for`循环。`if`语句支持简洁的语法和初始化语句,但需注意比较运算符的使用。`switch`语句提供多分支匹配,可省略`break`,同时支持不带表达式的形式。`for`循环有多种形式,如基本循环和`for-range`遍历,遍历时修改原集合可能导致未定义行为。理解并避免易错点能提高代码质量和稳定性。通过实践代码示例,可以更好地掌握Go语言的流程控制。
58 3
Golang深入浅出之-Go语言流程控制:if、switch、for循环详解
|
Go 开发者
Go 语言怎么优化重复的 if err != nil 样板代码?
Go 语言怎么优化重复的 if err != nil 样板代码?
155 0
|
7月前
|
存储 编译器 Go
go语言第一章(变量,if, switch)
go语言第一章(变量,if, switch)
46 0
|
Go
一文熟悉 Go 的分支结构(if - else-if - else、switch)
我是陈明勇,本文分享的知识是 Go 的分支结构。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!
128 1
一文熟悉 Go 的分支结构(if - else-if - else、switch)
|
程序员 Go
Go语言 if判断和for循环实战 goto使用的那些坑
这篇文章将介绍if判断、for循环、fori循环、for range、for循环作用域、goto如何使用、goto的使用需要注意的问题,以及使用for循环打印9*9乘法表的实战应用。
171 0
Go语言 if判断和for循环实战 goto使用的那些坑
|
存储 编译器 Go
Go基础:流程控制-if、switch、select、for
Go基础:流程控制-if、switch、select、for
183 0
Go基础:流程控制-if、switch、select、for
|
3天前
|
存储 监控 算法
员工上网行为监控中的Go语言算法:布隆过滤器的应用
在信息化高速发展的时代,企业上网行为监管至关重要。布隆过滤器作为一种高效、节省空间的概率性数据结构,适用于大规模URL查询与匹配,是实现精准上网行为管理的理想选择。本文探讨了布隆过滤器的原理及其优缺点,并展示了如何使用Go语言实现该算法,以提升企业网络管理效率和安全性。尽管存在误报等局限性,但合理配置下,布隆过滤器为企业提供了经济有效的解决方案。
31 8
员工上网行为监控中的Go语言算法:布隆过滤器的应用
|
23天前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
37 7
|
23天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。