1. Go if-else

Golang程序的流程控制决定程序如何执行,主要有三大流程控制,顺序控制分支控制循环控制

条件语句需要定义一个或多个条件,并且对条件测试的true或false来决定是否执行。

1.1. 顺序控制

代码自上而下逐行执行,中间没有判断、跳转,按默认流程执行,即顺序控制。

1.2. 分支控制

让程序有选择的执行,有单分支双分支多分支

单分支

语法

if 表达式为真{
//代码
}else{
//否则进入此语句块
}

实例

package main

import "fmt"

func main() {
var age int
fmt.Println("请输入您的年纪:")
//获取用户输入,传入变量地址,防止值拷贝
fmt.Scanln(&age)
if age > 18 {
fmt.Println("你已经是个18岁的小伙子了!!加油")
}
}

多重if嵌套

package main

import "fmt"

func main() {
a := 100
b := 200
if a == 100 {
if b == 200 {
fmt.Println("a为100,b为200")
}
} else {
fmt.Println("a或b有一个不匹配")
} }

双分支

package main

import "fmt"

func main() {
var age int
fmt.Println("请输入您的年纪:")
//获取用户输入,传入变量地址,防止值拷贝
fmt.Scanln(&age)
if age > 18 {
fmt.Println("你已经是超过18岁的小伙子了!!加油")
//这个else不能换行,必须这么写
} else {
fmt.Println("未满18,回家写作业!!")
}
}

多分支

package main

import (
"fmt"
) /*
有一核桃,将被进行以下处理
干干巴巴、麻麻赖赖、那就盘他!!
通透圆润,好东西!!
甭管什么东西,盘他!! */
func main() {
var hetao string
fmt.Println("请输入核桃的成色")
fmt.Scanln(&hetao) //写入变量 //多分支判断
if hetao == "干干巴巴,麻麻赖赖" {
fmt.Println("盘他!!")
} else if hetao == "通透圆润" {
fmt.Println("好东西!!")
} else {
fmt.Println("管他三七二十,来啥盘啥!!")
}
}

4.1Go if-else的更多相关文章

  1. 1go基本语法

    // week1 project main.go//导入一个包(目录) package main //导入方法 import "fmt" //createMessage函数(参数, ...

  2. 10.1Go Mysql

    第十章 Go Mysql 准备好mysql数据库服务端数据. 创建test数据库 MariaDB [(none)]> create database test; Query OK, 1 row ...

  3. 8.1Go并发

    第八章 Go并发 Go语言区别于其他语言的一大特点就是出色的并发性能,最重要的一个特性那就是go关键字. 并发场景: UI小姐姐一边开着PS软件,一边微信疯狂的和产品经理打字交流,后台还听着网易云音乐 ...

  4. 6.1Go方法

    第六章 Go方法 在第三章中讲解了struct,面向对象编程OOP已经是一个编程范式了,Go语言同样支持OOP开发. 一个对象就是一个变量,在这个对象中包含了一些方法,一个方法是一个和特殊类型关联的函 ...

  5. 3.1Go变量

    3.1 Go变量 变量是对内存中数据存储空间的表示,如同门牌号对应着房间,同样的,变量名字对应变量的值. 变量:本质就是一块内存空间.用于存储某个数值.该数值在运行时可以改变. 变量使用步骤 1.声明 ...

  6. 2.1Go语言特性

    1.1.2. 编程语言类型 静态语言,动态语言 静态语言:强类型语言 ​ 定义变量,必须指明数据类型,存储对应类型的数据. ​ 例如java,go,c 动态语言:弱类型语言 ​ 定义变量,赋值过程决定 ...

  7. 1.1Go环境搭建之Linux

    1.ssh远程登录Linux服务器,可选用iTerm.xshell ssh root@ip 2.建议配置好阿里云yum源.epel源 安装git yum install git 3.下载go源码包 / ...

  8. go语言学习入门篇1---go语言的主要特性与发展

    1.1 影响 Go 语言发展的早期编程语言 正如 "21 世纪的 C 语言" 这句话所说,Go 语言并不是凭空而造的,而是和 C++.Java 和 C# 一样属于 C 系.不仅如此 ...

  9. EF里查看/修改实体的当前值、原始值和数据库值以及重写SaveChanges方法记录实体状态

    本文目录 查看实体当前.原始和数据库值:DbEntityEntry 查看实体的某个属性值:GetValue<TValue>方法 拷贝DbPropertyValues到实体:ToObject ...

随机推荐

  1. Python学习15之python内置六大标准类型

    1.六大标准类型:数值型,str,list,set,tuple,dic 2.数值型:int,float,bool,complex 3.区别: 1)数值型和str,tuple都是不可变类型 而list, ...

  2. mac OS git关联github

    正在更新 mac OS 默认安装了git  git -v 查看版本 mac OS 默认安装了ssh  ssh -v 查看版本 1.设置username和email(github每次commit都会记录 ...

  3. Java Web:jstl处理字符串

    用法:${fn:methodName(args....)} 在使用这些函数之前必须在JSP中引入标准函数的声明<%@ taglib prefix="fn" uri=" ...

  4. HDU1873 看病要排队【模拟+优先队列】

    看病要排队 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  5. Xftp的下载安装,以及如何使用XFtp连接虚拟主机/服务器

    1.下载ftp软件  下载地址: 点我立即下载 2.下载后双击安装  下一步  选择Free for Home/School   然后其他的默认下一步即可 3.打开之前领取的免费一年虚拟主机的网址,登 ...

  6. Linked List-1

    链表一直是面试的重点问题,恰好最近看到了Stanford的一篇材料,涵盖了链表的基础知识以及派生的各种问题. 第一篇主要是关于链表的基础知识. 一.基本结构 1.数组回顾 链表和数组都是用来存储一堆数 ...

  7. C语言编程入门题目--No.10

    题目:打印楼梯,同时在楼梯上方打印两个笑脸. 1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数. 2.程序源代码: #include "stdio.h" ...

  8. FZU 1894 志愿者选拔

    Problem 1894 志愿者选拔 Accept: 2308 Submit: 7003 Time Limit: 1500 mSec Memory Limit : 32768 KB Problem D ...

  9. 10.秋招复习简单整理之CSMA/CD协议

    我们知道,总线上只要有一台计算机在发送数据,总线的传输资源就被占用.因此,在同一时间只能允许一台计算机发送数据,否则各计算机之间就会相互干扰,使得所发送的数据被破坏.因此,如何协调总线上各计算机的工作 ...

  10. 【K8S】K8S 1.18.2安装dashboard(基于kubernetes-dashboard 2.0.0版本)

    [K8S]K8S 1.18.2安装dashboard(基于kubernetes-dashboard 2.0.0版本) 写在前面 K8S集群部署成功了,如何对集群进行可视化管理呢?别着急,接下来,我们一 ...