文章目录
- 变量与运算
- 函数
- 判断
- 分支语句
- 循环
对于一门编程语言来说,只需了解如何创建变量和如何进行计算,最后再了解如何进行判断,就可以写程序了。而为了避免重复操作,还需要实现函数的封装,以及循环语句。本文就介绍Powershell中的变量、函数以及分支、循环结构等编程内容。
变量与运算
在PS中,$后接字符,即可创建一个有效的变量名,这些变量可以被赋值,也可以进行计算,示例如下
$1 = 4
$α = 5
$a=5; $b=6
$a - $b # -1
$a -gt $b # False
PS中常见的运算符如下
类别 | 运算符 |
---|---|
计算 | 【+】【-】【*】【/】;取模【%】 |
赋值 | 赋值【=】;自增【+=】,减乘除取模同理 |
比较 | 等于【-eq】;不等于【-ne】 |
大于【-gt】;大于等于【-ge】 | |
小于【-lt】;小于等于【-le】 | |
逻辑 | 与【AND】;或【OR】;非【NOT】;异或【xor】 |
函数
PS中,通过function来标识一段函数,并用return传回返回值。PS中的函数有两种调用方式,一种是在括号中输入参数,另一种是把函数看作命令,与参数通过空格隔开,示例如下
function squared($x){return $x*$x
}squared(3.5) # 12.25
squared 3.5 # 12.25
PS支持递归函数,例如,想实现一个阶乘函数,实现 5 ! = 120 5!=120 5!=120,只需下面三行代码即可,其中if和else是PS中的判断语句。
function fac($n){if($n -le 1){return 1}else{return (fac($n-1)) * $n}
}
fac(5) # 120
判断
PS中也通过if else语句来进行判断,if这个关键字,几乎已经统治了所有的编程语言,示例如下
function score($x){if($x -le 60) {echo 'Garbage'} elseif($x -le 80) {echo 'Ordinary'} else {echo 'Excellent'}
}score(55) # Garbage
score(65) # Ordinary
score(95) # Excellent
函数逻辑为
- 函数检查$x是否小于或等于 60 60 60。如果是,那么输出 ‘Garbage’,意味着分数非常差
- 如果$x大于 60 60 60 但小于或等于 80 80 80,那么输出 ‘Ordinary’,意味着分数一般。
- 如果$x大于 80 80 80,那么输出 ‘Excellent’,意味着分数非常好。
分支语句
PS提供了分支语句switch,示例如下
function whichDay($day){switch($day){7{echo "星期日"}6{echo "星期六"}default{echo "工作日"}}
}whichDay(7) # 星期日
whichDay(5) # 工作日
其逻辑是
- 如果 $day 等于 7,函数将输出 “星期日”。
- 如果 $day 等于 6,函数将输出 “星期六”。
- 如果 $day 不等于 7 也不等于 6,则默认输出"工作日"。
循环
PS提供了while、do-while和for循环,并且支持通过continue和break来调控循环的进行。下面用这三种循环,实现一个阶乘函数。
- while版本
function facWhile($n){$i = 1; $fac = 1while($i -le $n){$fac *= $i$i += 1}return $fac
}
- do-while版本
function facDo($n){$i = 1; $fac = 1do{$fac *= $i$i += 1}while($i -le $n)return $fac
}
- for循环
function facFor($n){for($i=$n-1; $i -ge 1; $i--){$n *= $i}return $n
}