类型
Go+的数据类型十分丰富
整型
我们常用于整型来进行数字运算,他有几种类型:
- 有符号整型:int8、int16、int32、int64。
- 无符号整型:uint8、uint16、uint32、uint64。
类型 | 描述 |
int8 | 有符号8位整型 |
int16 | 有符号16位整型 |
int32 | 有符号32位整型 |
int64 | 有符号64位整型 |
uint8 | 无符号8位 |
uint16 | 无符号16位 |
uint32 | 无符号32位 |
uint64 | 无符号64位 |
还有一些常见的特殊整型:
- uint:无符号整型,32位操作系统上就是32位,64位操作系统上就是64位。
- int:有符号整型,32位操作系统上就是32位,64位操作系统上就是64位。
- uintptr:无符号整型,常用于存放一个指针。
a := 12 println(a) 复制代码
字符串
字符串是我们用的最多的一种类型,我们一般使用双引号来表示这是一个字符串。
name := "hello world" println(name) 复制代码
在字符串里面有一些特殊的字符串,这就是转义符,转义符指的是有特殊含义的字符串,常见的有以下几种:
- \r
- \n
- \t
- \'
- \"
- \
转义符 | 含义 |
\r | 回车 |
\n | 换行符 |
\t | 制表符 |
\' | 单引号 |
\" | 双引号 |
\ | 反斜杠 |
如果我妈需要打印双引号、单引号、或者反斜杠时,我们只需要在前面加一个反斜杠即可。
println("\\") // \ 复制代码
如果我们需要打印多行的话,有一种简便的方法,直接用单引号括起来即可。
column := `第一行 第二行 第三行 ` println(column ) 复制代码
浮点型
Go+支持两种类型的浮点型,分别时float32
和float64
。
- float32:32位的浮点型。
- 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条件语句
概述
我们有三种结构来控制程序的流程结构:
- 顺序结构:从上往下执行的代码就是顺序结构。
- 循环结构:满足某种条件可以重复不断地执行某种语句叫做循环结构。
- 选择结构:满足某种条件就执行,否则执行另外一个。
if语句
if语句就是一种选择结构,他有三种结构,对用不同的语法格式:
- if
- if ...else
- 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("不及格") }