Go语言学习笔记(二)

if

func main() {
    const filename = "abc.txt"
    if contents, err := ioutil.ReadFile(filename);err != nil {
        fmt.Printf("%s\n",contents)
    }else {
        fmt.Println(err)
    }
}
  • if条件里可以赋值
  • if的条件里赋值的变量作用域仅限于if语句内

switch

func eval(a, b int, op string) int {
    var result int
    switch op {
    case "+":
        result = a + b
    case "-":
        result = a - b
    case "*":
        result = a * b
    case "/":
        result = a / b
    default:
        panic("unsupported operator" + op)
    }
    return result
}
  • switch会自动break,除非使用fallthrough
  • switch也可以没有表达式
  • panic用于报错,让程序停下来

for

func main() {
    printFile("abc.txt")
}

func printFile(fileName string) {
    file, err := os.Open(fileName)
    if err != nil {
        panic(err)
    }
    scanner := bufio.NewScanner(file)
    for scanner.Scan(){
        fmt.Println(scanner.Text())
    }
}

死循环

for {
        fmt.Println("hello")
}
  • for的条件里不需要括号
  • for的条件里可以省略初始化条件,结束条件,递增表达式
  • 没有while
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Go语言结构 Go语言的基础组成有一下几个部分: 包声明 包引入 函数 变量 语句&表达式 注释 关于Go的语言组...
    EvansChang阅读 287评论 0 0
  • 86.复合 Cases 共享相同代码块的多个switch 分支 分支可以合并, 写在分支后用逗号分开。如果任何模式...
    无沣阅读 1,470评论 1 5
  • Swift 提供了类似 C 语言的流程控制结构,包括可以多次执行任务的for和while循环,基于特定条件选择执行...
    穷人家的孩纸阅读 731评论 1 1
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,241评论 0 13
  • 朋友Amy.一个爱玩快手直播的美女。 昨天我们放寒假,Amy到学校接我,果然是爱玩直播的,到我寝室没说...
    Crystal_于晶晶阅读 761评论 0 0