• go-控制语句


    if else

    else不能换行
    if后最好不加小括号,当然可以加,但建议不加

    求平方根

    引入math包
    调用math.Sqrt(num)函数

    switch分支

    不用加break来跳出,每一个case执行完会自动退出switch控制语句

    	switch  key {
        case  'a':
            println("aaa")
        ......
       defaule:
           println("匹配不到会执行我")
    }
    

    case后是一个表达式
    表达式的数据类型必须与科研一致,否则报错
    case后还可以跟多个表达式,用逗号隔开
    如果为常亮,所有case后的值不能重复,否则报错
    switch后还可不带表达式,类似于if else 分支来使用

    		i :=10
    switch{
    		case i==10  :  ..
            case i==20 : 
            ......
            default :
             println(“没有匹配到”)
    }
    

    switch后还可直接声明一个变量,分号结束 不推荐使用
    switch穿透
    在case后添加fallthrough,则会执行下一个case叫switch穿透
    默认只能穿透一层
    typestitch
    switch还可被用于type-switch来判断interface变量中实际指向的变量类型

    switch与if的比较

    若判断的具体数值不多,数据类型为整数,浮点数,字符,字符串这几类用switch,简介高效
    对区间判断和bool判断用if

    for

    和if一样可以不加小括号,返回值为bool类型

    三种写法

    一般写法
    省略初始和步长
    三者都省略
    for ; ; {}是一个无限循环
    一般配合break

    for-range方便遍历字符串和数组

    str = "abc~ok"
    for  index, val  := range  str {
         fmt.printf("index = "%d, val = %c 
    ", index, val)
    }
    

    因为是按照字符遍历的所以有中文,也ok
    而传统的是按字节遍历的,所以须将数组转为切片 eg: str := []rune(str)

    go语言中没有while和do-while,可用foe循环来实现

    //while
    for{
      if  循环条件{
        break
    }
    循环操作
    变量迭代
    }
    //do-while
    for{
    循环操作
    变量迭代
      if  循环条件{
        break
    }
    }
    

    多重循环

    编程两大绝招
    先易后难
    复杂问题分解为简单问题
    先死后活

    break跳转语句

    随机数

    在go中生成随机数要生成一个随机种子,否则返回的数总是固定的

    rand.Seed(time.Now().Unix())
    fmt.Println("n",rand.Intn(100)+1)
    

    基本功能

    终止某个语句块

    使用细节

    当初现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块

    lable2 :
    for{
       for{
       break lable2
    }
    }
    

    lable只是一个标签名
    默认会跳出最近的for循环

    continue跳转控制

    结束本次循环
    用法和break一样也可以标签使用

    goto跳转语句

    无条件跳转到指定行,配合条件语句

    if 条件 {
        goto lable2
    }
    ...
    ....
    lable2:
    ....
    

    一般不主张使用

    return

    跳出所在方法或函数
    普通函数
    不再执行return后面的语句
    main函数
    终止main函数,即终止程序

  • 相关阅读:
    四套读取方案
    java的分层开发
    位移运算符
    反射
    多线程下的单例
    学生管理系统
    iOS-分段控制器-基本概念
    iOS-UITableView-处理cell上按钮事件(弹出警示框,页面跳转等)
    iOS-UIScrollView-图片缩放
    Xcode-Xcode 7.3 解决不能自动联想问题
  • 原文地址:https://www.cnblogs.com/ygjzs/p/11779970.html
Copyright © 2020-2023  润新知