《Shell 转 Go》
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

01. 条件语句 (if)

Shell

function abc() {
    n=$1
    if [ $n -gt 100 ]; then
        { # 括号可有可无
            echo "无效"
        }
    elif [ $n -gt 90 ]; then
            echo "优秀"
    else
        {
            echo "一般"
        }
    fi
}

在 Shell 中,

  1. if-else-fi 是通过关键字约束 语句块 边界的。
  2. 大括号 {} 可有可无, 但是最好还是带上, 增强可读性。
  3. 判断条件使用 方括号 [ ][[ ]] 定义。

Go

func if_else(n int) {
	if n >= 100 || n <= -1 {
		fmt.Println("无效")
	} else if n > 90 {
		fmt.Println("优秀")
	} else {
		fmt.Println("一般")
	}
}

在 Go 中,

  1. 大括号 {} 是语句块的定义, 必须存在。
  2. 没有关键字 then, elif, fi

Go 中的逻辑运算符

  1. &&
  2. ||
  3. !

这点在 Shell 中使一致的。

关系运算符

  1. == 等于, != 不等于
  2. >, <, >=, <= 很直观。