函数对于每一种编程语言来说都有,只是每一种的形式不一样。
例如以下几种编程语言的函数定义:
java的函数为方法形式为:
修饰符 返回值类型 函数名 ( [ 参数类型1 参数名1,参数类型2 参数名2.... ] ){
// [ ] 里面表示可选项,即参数不是必须的
执行语句...
return 返回值; //返回值的类型必须与返回值类型一致
}
python函数形式为:
def 函数名(参数1,参数2,......):
执行语句
return 返回值; //选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
Shell的函数定义为:
function (){
action;
[return int;]
}
function函数可以带参数也可以不带参数
function返回,可以加上也可以不加,不加默认返回最后一条命令的结果,return后面跟数值(0-255)
使用实例:
#不带返回值,默认返回命令执行结果
demoFun(){
echo "Shell测试函数"
}
echo "准备开始执行函数"
demoFun
echo "函数执行完毕"
# 带return返回
funWithReturn(){
echo "--------------这个函数执行数字相加-----------"
echo "请输入相加数字:"
read Num1
echo "请输入第二个相加的数:"
read Num2
echo "你输入的两个数字分别为${Num1}和${Num2}"
return $((${Num1}+${Num2}))
}
funWithReturn
echo "输入两个数的和为:${?}!"
# 函数带参数
:<<EOF
$10不能获取第十个参数,获取第十个参数需要${10}
当参数大于十个的时候要使用${n}这样来获取参数
$#传递到脚本的参数述个数
$*以一个单字符显示所有脚本传递的参数
$$ 脚本运行的当前进程的ID号
$! 后台运行的最后一个进程的ID号
$@ 与$*相同,但是使用时加引号,并在引号返回每个参数
$- 显示Shell使用的当前选项,与set命令功能相同
$? 显示最后退出的状态,0表示没有错误,其它数字表示出错(仅仅对上一条指令负责,一旦函数返回值没有保存入参数 ,那么其返回值将不能通过$?获得)
EOF
funWidthParam(){
echo "第一个参数为:$1!"
echo "第二个参数为:$2!"
echo "第三个参数为:$3!"
echo "第三个参数为:$4!"
echo "第三个参数为:$4!" echo "第三个参数为:$5!"
echo "第三个参数为:$4!" echo "第三个参数为:$6!"
echo "第三个参数为:$7!"
echo "第三个参数为:$8!"
echo "第三个参数为:$9!"
echo "第三个参数为:${10}!"
echo "一共有$#个参数!"
echo "所有字符串:$*!"
}
funWidthParam 18 24 32 46 58 64 71 81 93 100