《每天用对比的思想学点 golang》PHP 对比有意思的 go-定义函数,定义返回值类型
php 的函数定义格式
function 函数名(参数,参数)
{
逻辑。。。
return 返回值;
}
需要定义类型吗?因为php 是弱类型的,所以我们不需要强制指定,但是也可以指定。
详细可以看这里:php类型约束
例子:
function add($x,$y)
{
$total=$x+$y; return $total;
}
echo "1 + 16 = " . add(1,16);
go 的函数定义格式
func 函数名() 函数返回的数据类型 {
代码逻辑。。。。
return result
}
看代码
package main
import "fmt"
//数组作为函数参数 最后面的表示函数的返回值
func BubbleSort(arr [10]int) [10]int {
//fmt.Println(arr)
//fmt.Println(len(arr))
//arr[0]=123
//arr[1]=234
for i := 0; i < len(arr)-1; i++ {
for j := 0; j < len(arr)-1-i; j++ {
if arr[j] > arr[j+1] {
arr[j], arr[j+1] = arr[j+1], arr[j]
}
}
}
return arr
//fmt.Println(arr)
}
func main() {
arr := [10]int{9, 1, 5, 6, 8, 4, 7, 10, 3, 2}
//数组作为函数参数是值传递
//形参和实参是不同的存储单元
// 内存中有两份独立的数组存储不同的数据
// 在函数调用结束形参单元销毁 不会影响主调函数中实参的值
//如果想通过函数计算结果并传递给实参 需要使用数组作为函数的返回值
fmt.Println(arr)
arr = BubbleSort(arr)
fmt.Println(arr)
}
输出结果
wcb@appledeMacBook-Pro-4 02代码 % go run 01数组作为函数参数.go
[9 1 5 6 8 4 7 10 3 2]
[1 2 3 4 5 6 7 8 9 10]
分析
这里 以数组作为函数参数,但是在这里。
我们可以清晰的看到,函数参数。我们传递的格式为:
func 函数名() 函数返回的数据类型 {
代码逻辑。。。。
return result
}
再举一个简单的例子
(1) 在定义函数Test( )时,后面加了int,表示该函数最终返回的是一个整型的数据
(2) 在Test( )函数中要返回数据,必须要返回的数据放在return关键字之后(通过return关键字返回数据)。
(3) 在main( )中调用Test( )函数,这时会执行Test( )函数中的代码,当执行完 return sum时,会将sum变量中保存的值返回。
(4) Test( )函数返回的值会赋值给main( )函数中的result变量。
防爬虫说明
禁止 学习某地爬虫,知乎爬虫,CSDN 爬虫。
本文,首发在 learnku 社区。
@author
汪春波(www.shxdledu.cn)
本作品采用《CC 协议》,转载必须注明作者和本文链接