一、条件语句

package main

import (
"fmt"
"io/ioutil"
) // if的条件不需要括号 func xx(i int) int {
if i == 1 {
return 1
} else if i == 2{
return 2
} else {
return 0
}
} func eval(a, b int, operator string) int {
var result int
switch operator {
case "+":
result = a + b
case "-":
result = a - b
case "*":
result = a * b
case "/":
result = a / b
default:
// panic相当于报错
panic("unsupported operator:" + operator)
}
return result
} func getGrade(score int) string {
grade := ""
// switch后面可以没有表达式,在case中实现即可
switch {
case score == 100:
grade = "A+"
case score >= 90 && score< 100:
grade = "A"
case score >= 80 && score< 90:
grade = "B"
}
return grade
} func main() {
fmt.Println(xx(10)) // 0 const filename = "test.txt"
if contents, err := ioutil.ReadFile(filename); err != nil {
fmt.Println(err)
} else {
fmt.Printf("%s\n", contents)
/*
千山鸟飞绝,万径人踪灭。
孤舟蓑笠翁,独钓寒江雪。
*/
} fmt.Println(eval(10, 20, "+")) // 30 fmt.Println(getGrade(95)) // A
}

二、循环语句

package main

import (
"bufio"
"fmt"
"os"
"strconv"
) // for的条件不需要括号
// for的条件可以省略初始条件、结束条件、递增表达式 func convertToBinary(i int) string {
result := ""
for ; i > 0; i /= 2 {
tmp := i % 2
result = result + strconv.Itoa(tmp)
}
return result
} func printFileContent(filename string) {
file, err := os.Open(filename)
if err != nil {
panic(err)
}
scanner := bufio.NewScanner(file)
// 只有结束条件
for scanner.Scan() {
fmt.Println(scanner.Text())
}
} func foreverCircle() {
// 死循环
for {
fmt.Println("1")
}
} func printStr1(s string) {
for index, value := range s {
fmt.Printf("index:%d value:%c\n", index, value)
/*
index:0 value:H
index:1 value:e
index:2 value:l
index:3 value:l
index:4 value:o
index:5 value:
index:6 value:W
index:7 value:o
index:8 value:r
index:9 value:l
index:10 value:d
*/
}
} func printStr2(s string) {
for index, value := range s {
if index < 5 {
fmt.Printf("index:%d value:%c\n", index, value)
/*
index:0 value:H
index:1 value:e
index:2 value:l
index:3 value:l
index:4 value:o
*/
continue
} else if index == 5 {
break
}
}
} func main() {
fmt.Println("1")
fmt.Println(
convertToBinary(1), // 1
convertToBinary(2), // 01
convertToBinary(5), // 101
convertToBinary(10), // 0101
) printFileContent("test.txt")
/*
千山鸟飞绝,万径人踪灭。
孤舟蓑笠翁,独钓寒江雪。
*/ //foreverCircle() printStr1("Hello World") printStr2("Hello World")
}

三、goto语句(不推荐使用)

package main

import "fmt"

func func1() {
LABEL:
for i := 0; i <= 5; i++ {
for j := 0; j <= 5; j++ {
if j == 4 {
continue LABEL // LABEL相当于标志,程序跳到此处执行
}
fmt.Printf("i is: %d, and j is: %d\n", i, j)
}
}
} func func2() { // 相当于for循环
i := 0
LABEL:
fmt.Println(i)
i++
if i == 5 {
return
}
goto LABEL
} func main() {
func1()
func2()
}

Go:条件语句、循环语句的更多相关文章

  1. Python 2.7 学习笔记 条件与循环语句

    本文介绍下python条件和循环语句的语法 一.if条件语句 语法格式如下: if 表达式: .... elif 表达式: .... elif 表达式: .... else: ..... 说明:与其它 ...

  2. Python中的条件和循环语句

    条件和循环语句 1. 条件语句 if单用 格式:if 条件表达式 例如:if 5 > 3: print('True') >>> 'True' #当条件满足时才会执行上述操作. ...

  3. #7 Python顺序、条件、循环语句

    前言 上一节讲解了Python的数据类型和运算,本节将继续深入,涉及Python的语句结构,相当于Python的语法,是以后编写程序的重要基础! 一.顺序语句 顺序语句很好理解,就是按程序的顺序逻辑编 ...

  4. 【Python】-NO.99.Note.4.Python -【Python3 条件语句 循环语句】

    1.0.0 Summary Tittle:[Python]-NO.99.Note.4.Python -[Python3 条件语句 循环语句] Style:Python Series:Python Si ...

  5. python系列八:Python3条件控制&循环语句

    #!/usr/bin/python #-*-coding:gbk-*-#Python3 条件控制&循环语句import randomage = int(input("请输入你的年龄: ...

  6. python实例 条件和循环语句

    #! /usr/bin/python #条件和循环语句 x=int(input("Please enter an integer:")) if x<0:     x=0    ...

  7. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

  8. python之最强王者(3)——变量,条件、循环语句

    1.Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的 ...

  9. PL/SQL学习(二)条件和循环语句

      原文参考:http://plsql-tutorial.com/   PLSQL条件语句 IF THEN ELSE STATEMENT 1) IF condition THEN  statement ...

  10. r语言之条件、循环语句

    if条件语句:if (conditon) {expr1} else {expr2} > x<-1> if(x==1)+ {x<-"x=1"}else+ {x ...

随机推荐

  1. [NOI2004]小H的小屋 贪心

    神仙贪心,洛谷没有插图导致我题一开始都没看懂.容易发现,块越多越优秀,然后为了满足题意,所以假如不能整除,就分为两个部分(能整除就直接均分就行了).前一部分是n/m,后一部分是n/m+1.数量也是固定 ...

  2. VMware 虚拟机下挂载U盘

    1.首先设置虚拟机为连接的可移动U盘 2.首先在虚拟机界面的情况下,插入U盘,U盘格式为fat32的 3.在mnt目录下新建一个文件夹usb 4.运用sudo fdisk -l /dev/sdb 来查 ...

  3. Java游戏之碰撞检测

    在进行Java游戏开发时,我们经常会遇到碰撞检测的问题.如坦克大战中,炮弹与坦克相遇发生爆炸:守卫者游戏中,守卫者发射的箭与怪物相遇使怪物失血:打飞机游戏中,飞机发送的子弹与敌机相遇干掉敌机.这些都需 ...

  4. 利用XStream实现对象XML话

    使用Java原生的序列化的方式来表示一个对象.总结一下这种对象表示方式的优缺点: 1.纯粹的Java环境下这种方式可以很好地工作,因为它是Java自带的,也不需要第三方的Jar包的支持 2.多语言环境 ...

  5. ipvs和ipvsadm

    ipvs和ipvsadm ipvs:内核中的协议栈上实现 ipvs是LVS软件核心,是运行在LB上的,这是个基于ip层的负载均衡. ipvs的总体结构主要有ip包处理,负载均衡算法,系统配置和管理三个 ...

  6. 编写第一Spring程序

    构建Spring项目 通过https://start.spring.io/来构建项目,在这里我选择了两个依赖,web 和 Actuator. 项目结构 通过eclipse导入项目,可以看到这是一个标准 ...

  7. vue中sync,v-model----双向数据绑定

    需求:父子组件同步数据 实现方式:sync或者v-model 一.sync 官网:https://cn.vuejs.org/v2/guide/components-custom-events.html ...

  8. [POJ3417]Network/闇の連鎖

    Description 传说中的暗之连锁被人们称为 Dark. Dark 是人类内心的黑暗的产物,古今中外的勇者们都试图打倒它.经过研究,你发现 Dark 呈现无向图的结构,图中有 N 个节点和两类边 ...

  9. BST二叉查找树转双向链表DoubleLinke

    问题:在不创建任何新的节点的情况下,实现将一颗BST变成有序的双向链表. 分析: 在结构上,如图的一颗BST,每个节点都有left right指针分别指指向左右儿子.结构上和双向链表节点是完全相同的. ...

  10. SqlServer数据库(可疑)解决办法

    -- 当数据库发生这种操作故障时,可以按如下操作步骤可解决此方法,打开数据库里的Sql 查询编辑器窗口,运行以下的命令. --1.修改数据库为紧急模式 ALTER DATABASE Zhangxing ...