1.if else 语句

if语句后面的条件不需要括号

if n > 0 {
return 1
}else {
return -1
}

'if'之后,条件判断之前,可以初始化变量(作用域为整个if语句),用';'分隔,类似其它语言的for语句

if m := 1 ; n > 0{
return
}else {
fmt.Println(m)
}

2.switch语句

golang中的switch,case语句无需写'break'

switch operator {
case "+":
return a + b
case "-":
return a - b
case "*":
return a * b
case "/":
return a / b
default:
return a*a + b*b

'switch'后可以没有表达式,在case里面写条件

var grade string
switch {
case score < 0 || score > 100:
grade = fmt.Sprintf("Wrong score : %d", score)
case score < 60:
grade = "E"
case score < 70:
grade = "D"
case score < 80:
grade = "C"
case score < 90:
grade = "B"
case score <= 100:
grade = "A"
}
return grade

测试代码

package main
import (
"fmt"
"io/ioutil"
)
/*
if else 测试
*/
func readFile() {
const fileName = "a.txt"
//go语言方法可以有多个返回值
readBytes, err := ioutil.ReadFile(fileName)
//普通写法
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("%s\n", readBytes)
}
//类似for语句的写法
if readBytes, err := ioutil.ReadFile(fileName); err != nil {
fmt.Println(err)
} else {
fmt.Printf("%s\n", readBytes)
}
}
/*
switch后有表达式
*/
func eval(a, b int, operator string) int {
switch operator {
case "+":
return a + b
case "-":
return a - b
case "*":
return a * b
case "/":
return a / b
default:
panic("unsupported operator : " + operator) //panic中断程序运行并报错
}
}
/*
switch后无表达式和default
*/
func grade(score int) string {
var grade string
switch {
case score < 0 || score > 100:
panic(fmt.Sprintf("Wrong score : %d", score))
//grade = fmt.Sprintf("Wrong score : %d", score)
case score < 60:
grade = "E"
case score < 70:
grade = "D"
case score < 80:
grade = "C"
case score < 90:
grade = "B"
case score <= 100:
grade = "A"
}
return grade
}
func main() {
readFile()
fmt.Println(eval(1, 4, "+"))
fmt.Println(grade(101))
}

go基础语法-条件语句的更多相关文章

  1. JAVA基础——Switch条件语句

    JAVA基础——switch 条件语句 switch语句结构: switch(表达式){ case值1: 语句体1: break: case值2: 语句体2: break: case值3: 语句体3: ...

  2. JavaSE入门学习7:Java基础语法之语句(下)

    继续接着Java基础语法来:JavaSE入门学习5:Java基础语法(一)和JavaSE入门学习6:Java基础语法(二). 语句 Java经常使用的3种循环:while.do...while,for ...

  3. 9.12 开课第9天 (JS脚本语音:基础语法、语句)

    全称JavaScript    网页里面使用的脚本语音      非常强大的语言 基础语法:1.注释语法   单行注释//    多行注释/**/ 2.输出语法   alert(信息);  弹出信息  ...

  4. VBS基础篇 - 条件语句

    经常地,当我们编写代码时,我们需要根据不同的判断执行不同操作,我们可以使用条件语句完成这个工作. If...Then...Else 在下面的情况中,您可以使用 If...Then...Else 语句: ...

  5. go基础语法-循环语句

    1.基础定义 for语句的条件不需要括号(同if语句) ,golang里的循环只有for,没有while sum := 0 for i=0;i<100;i++ { sum += i } 2.条件 ...

  6. js基础(条件语句 循环语句)

    条件语句 if语句块的语法形式如下: //只有两种情况下if(条件){要执行的语句块;}else{要执行的语句块;} //多种情况下if(条件){要执行的语句块;}else if(条件){要执行的语句 ...

  7. Java入门 - 语言基础 - 10.条件语句

    原文地址:http://www.work100.net/training/java-if-else.html 更多教程:光束云 - 免费课程 条件语句 序号 文内章节 视频 1 概述 2 if...e ...

  8. Python新手学习基础之条件语句——if/else语句

    if/else语句 条件语句实际在前面的文章里我们已经使用过几次了,在这里我们需要再次隆重的来介绍一下它,条件语句是通过对一条或多条语句判断的返回结果(True或False)来选择执行下一步命令的,比 ...

  9. 2017-2-21 C#基础 if条件语句,作用域

    今天学了if 条件语句和作用域.作用域可以用一句话来概括:儿子可以用爹的所有东西,爹不可以用儿子的任何东西.If条件语句我用几个练习题来解释. 1."请输入年份:" 判断是否是闰年 ...

随机推荐

  1. selenium+python 数据驱动-txt篇

    #循环读取txt文件中的数据,可以作为用户名,密码等使用from selenium import webdriver #创建两个列表user=[]pwd=[]f=open(r'C:\bbs\data\ ...

  2. oracle踩过的坑

    #默认库配置 url: jdbc:oracle:thin:@ip:1521:smis(SID名) driver: oracle.jdbc.driver.OracleDriver username: x ...

  3. UEditor 中配置可以跨域访问的图片路径

    文档里很清楚:http://fex.baidu.com/ueditor/#server-path 进入配置文件 当域名不是直接配置到项目根目录时,例:http://a.com/b/c  域名下有两文件 ...

  4. IOS ASI (第三方请求)

    什么是ASI全称是ASIHTTPRequest,外号“HTTP终结者”,功能十分强大基于底层的CFNetwork框架,运行效率很高可惜作者早已停止更新,有一些潜在的BUG无人去解决很多公司的旧项目里面 ...

  5. 记两个std接口equal_range,set_difference

    1.equal_range equal_range是C++ STL中的一种二分查找的算法,试图在已排序的[first,last)中寻找value,它返回一对迭代器i和j,其中i是在不破坏次序的前提下, ...

  6. Webpack笔记(二)——搭建React开发环境

    前几天一直在学习webpack,总算比之前学习的时候有了点收获,所以在昨天发布了一篇webpack入门笔记,今天继续使用webpack练了练手,搭建了一个React开发环境,如果还不熟悉的童鞋可以看一 ...

  7. tomcat 8 startup.bat启动乱码问题

    修改Tomcat bin目录下startup.bat文件 将call "%EXECUTABLE%" start %CMD_LINE_ARGS%  改为 call "%EX ...

  8. openlayers中的自定制工具栏,包含画点、线、面

    先是在projectquantan-master这个项目中有一个EditingPanel这个工具条,也挺好的,功能挺全的,但是有一点就是只有画多边形的一个按钮,没有point和path俩个的,所以就想 ...

  9. 软件架构的描述-Architecture Models

    Software architecture involves the high level structure of software system abstraction, by using dec ...

  10. 20、Springboot 与数据访问(JDBC/自动配置)

    简介: 对于数据访问层,无论是SQL还是NOSQL,Spring Boot默认采用整合 Spring Data的方式进行统一处理,添加大量自动配置,屏蔽了很多设置.引入 各种xxxTemplate,x ...