《每天用对比的思想学点 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
}

再举一个简单的例子

有意思的go-定义函数,定义返回值类型

(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 协议》,转载必须注明作者和本文链接
嗨,我是波波。曾经创业,有收获也有损失。我积累了丰富教学与编程经验,期待和你互动和进步! 公众号:上海PHP自学中心 付费知识星球:破解面试:程序员的求职导师
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
司机 @ 欣昊玉
文章
273
粉丝
340
喜欢
558
收藏
1107
排名:64
访问:12.2 万
私信
所有博文
社区赞助商