标签:切片 关系 相等 select 存在 没有 分支 整型 默认值
数据类型
序号 | 类型和描述 |
|---|---|
| 1 | 布尔型 布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。 |
| 2 | 数字类型 整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。 |
| 3 | 字符串类型: 字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。 |
| 4 | 派生类型: 包括:
|
| 序号 | 类型和描述 |
|---|---|
| 1 | uint8 无符号 8 位整型 (0 到 255) |
| 2 | uint16 无符号 16 位整型 (0 到 65535) |
| 3 | uint32 无符号 32 位整型 (0 到 4294967295) |
| 4 | uint64 无符号 64 位整型 (0 到 18446744073709551615) |
| 5 | int8 有符号 8 位整型 (-128 到 127) |
| 6 | int16 有符号 16 位整型 (-32768 到 32767) |
| 7 | int32 有符号 32 位整型 (-2147483648 到 2147483647) |
| 8 | int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807) |
| 序号 | 类型和描述 |
|---|---|
| 1 | float32 IEEE-754 32位浮点型数 |
| 2 | float64 IEEE-754 64位浮点型数 |
| 3 | complex64 32 位实数和虚数 |
| 4 | complex128 64 位实数和虚数 |
| 序号 | 类型和描述 |
|---|---|
| 1 | byte 类似 uint8 |
| 2 | rune 类似 int32 |
| 3 | uint 32 或 64 位 |
| 4 | int 与 uint 一样大小 |
| 5 | uintptr 无符号整型,用于存放一个指针 |
变量: 全局变量、局部变量、形式参数
// 第一种声明变量方式: 指定变量类型,进行初始化或使用默认值
var boolean1 bool // 声明单个变量 var num1, num2 int // 声明多个相同类型的变量
?
// 第二种声明变量方式: 系统根据 值 自行判定变量类型
var num4 = 5
// 第三种声明变量方式: 省略 var,若 := 左侧未声明新的变量,则产生编译错误
str3 := "u_u"
?常量:类型仅可为 布尔型、数字型(整型、浮点型、复数型)、字符串型;多行字符串使用 `` 定义
运算符
| 算术运算符 | 描述 |
|---|---|
| + | 相加 |
| - | 相减 |
| * | 相乘 |
| / | 相除 |
| % | 求余 |
| ++ | 自增 |
| -- | 自减 |
| 关系运算符 | 描述 |
|---|---|
| == | 检查两个值是否相等,如果相等返回 True 否则返回 False。 |
| != | 检查两个值是否不相等,如果不相等返回 True 否则返回 False。 |
| > | 检查左边值是否大于右边值,如果是返回 True 否则返回 False。 |
| < | 检查左边值是否小于右边值,如果是返回 True 否则返回 False。 |
| >= | 检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。 |
| <= | 检查左边值是否小于等于右边值,如果是返回 True 否则返回 False。 |
| 逻辑运算符 | 描述 |
|---|---|
| && | 逻辑 AND 运算符。 如果两边的操作数都是 True,则条件 True,否则为 False。 |
| || | 逻辑 OR 运算符。 如果两边的操作数有一个 True,则条件 True,否则为 False。 |
| ! | 逻辑 NOT 运算符。 如果条件为 True,则逻辑 NOT 条件 False,否则为 True。 |
| 赋值运算符 | 描述 |
|---|---|
| = | 简单的赋值运算符,将一个表达式的值赋给一个左值 |
| += | 相加后再赋值 |
| -= | 相减后再赋值 |
| *= | 相乘后再赋值 |
| /= | 相除后再赋值 |
| %= | 求余后再赋值 |
| <<= | 左移后赋值 |
| >>= | 右移后赋值 |
| &= | 按位与后赋值 |
| ^= | 按位异或后赋值 |
| |= | 按位或后赋值 |
| 其他运算符 | 描述 |
|---|---|
| & | 返回变量存储地址 |
| * | 指针变量。 |
分支循环语句
if 语句
if condition { // do something } // condition 为 布尔类型
if-else 语句
if condition { // do something } else { // do something } // if 为真即成立,执行 if代码块;否则执行 else代码块
if-else if-else 语句
if condition1 { // do something } else if condition2 { // do something else }else { // catch-all or default }
if 的特殊姿势
if err := Connect(); err != nil { fmt.Println(err) return } // Connect() 为带有返回的函数,此条件先获取函数的返回值,再根据这个返回值进行判断
switch 语句
var a = "hello" switch a { case "hello": fmt.Println(1) case "world": fmt.Println(2) default: fmt.Println(0) }
// 一分支多值
var a = "mum" switch a { case "mum", "daddy": fmt.Println("family") } // 分支表达式 var r int = 11 switch { case r > 10 && r < 20: fmt.Println(r) }
注意:
每个 switch 只能有一个 default 分支
switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。
switch 语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加 break。
switch 默认情况下 case 最后自带 break 语句,匹配成功后就不会执行其他 case,如果我们需要执行后面的 case,可以使用 fallthrough 。
select 语句
select { case communication clause : statement(s); case communication clause : statement(s); // 可以定义任意数量的 case default : // 可选 statement(s); } // select 随机执行一个可运行的 case。如果没有 case 可运行,它将阻塞,直到有 case 可运行。
Go 没有三目运算符,所以不支持 ?: 形式的条件判断
for 循环
break 语句
continue 语句
goto 语句
标签:切片 关系 相等 select 存在 没有 分支 整型 默认值
原文地址:https://www.cnblogs.com/hsmwlyl/p/11766314.html