function函数的定义方法是什么,如何实现调用
Admin 2022-08-13 群英技术资讯 897 次浏览
这篇文章主要介绍“function函数的定义方法是什么,如何实现调用”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“function函数的定义方法是什么,如何实现调用”文章能帮助大家解决问题。function函数的定义及调用
将一些相对独立的代码变成函数,可以提高程序的可读性和重用性。避免重复编写大量相同的代码
function函数的定义
方法一:
function_name ()
{
statement1
statement2
....
statementn
}
方法二:
function function_name()
{
statement1
statement2
....
statementn
}
function函数的调用【位置传参】
#!/usr/bash/env bash
#!/bin/bash
#解释器选第一个或第二个
factorial() {
value=1
for((i=1;i<=$1;i++))
do
# value=$[$value * $i]
# value=$(($value*$i)) 等价于 value=$(($value * $i))
let value*=$i #等价于 let value=$value*$i 不等价于 let value=$value * $i
done
echo "$1的阶乘是: $value"
}
#调用函数并传参
factorial $1
//测试传参
[root@mysql-master /soft/scripts]# sh function1.sh 5
5的阶乘是: 120
[root@mysql-master /soft/scripts]#
函数使用return返回值【位置传参】
在Shell中,return语句只能返回某个0-255之间的整数值,如果超出这个范围就会返回错误的结果。在Shell中还有一种更优雅的方法帮助用户来获得函数执行后的某个结果,那就是使用echo,例如上例。
#! /bin/bash
function sum()
{
returnValue=$(( $1 + $2 ))
return $Value
}
sum 16 4
echo $?
//测试
[root@mysql-master /soft/scripts]# sh sum.sh
20
//用echo返回不在0-255范围的结果
#! /bin/bash
function length()
{
str=$1
result=0
if [ "$str" != "" ] ; then
result=${#str}
fi
echo "$result"
}
len=`length "abc123"`
echo "The string's length is $len "
//测试
[root@mysql-master /soft/scripts]# sh length.sh
The string's length is 6
函数的调用【数组传参】
#!/bin/bash
#数组num
num=(1 2 3 4 5 6)
array() {
local value=1 #加local表示value是局部参数,不影响函数外的同名参数
for i in $@ #所有的参数{1..6}
do
let value*=$i
done
echo "$value"
}
array ${num[@]}
//测试
[root@mysql-master /soft/scripts]# sh function2.sh
720
####传入数组参数,输出数组参数####
#!/bin/bash
num=(1 2 3)
num2=(3 4 5)
array() {
local newarr=($@)
for((i=0;i<$#;i++)) #或者写成for i in $@;do;outarr[j++]=$[$i*3];done
do
outarr[$i]=$(( ${newarr[$i]} * 3 ))
done
echo "${outarr[@]}"
}
reslut=`array ${num[*]}`
echo $reslut
reslut2=`array ${num2[*]}`
echo $reslut2
//测试
[root@mysql-master /soft/scripts]# sh function3.sh
3 6 9
9 12 15
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
yii2如何创建自定义模块?很多新手在学习YII2框架时,对于如何添加自定义模块的方法不是很清楚,下面小编就给大家分享一个YII2添加自定义模块方法的实例,对大家学习有一定的借鉴价值,有需要的朋友可以看一下。
今天小编就为大家分享一篇使用laravel根据用户类型来显示或隐藏字段,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
PHP是现在网站中最为常用的后端语言之一,是一种类型系统动态、弱类型的面向对象式编程语言。可以嵌入HTML文本中,是目前最流行的web后端语言之一,并且可以和WebServer如apache和nginx方便的融合。目前,已经占据了服务端市场的极大占有量。 但是,弱类型,一些方便的特性由于新手程序员的不当使用,造成了一些漏洞,这篇文章就来介绍一下一些渗透中可以用的特性。 上面都是废话,
1.文件缓存:2.Memcached; 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。//初始化$cache=newMemcache();$cache->pconnect(127.0.0.1,11
Swoole是一个由C语言编写,支持PHP语言的异步多线程服务器,它的功能包括异步TCP/UDP网络客户端,异步MySQL,异步 Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询等。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008