美文网首页goPHP
php7,go,python,java之「函数」

php7,go,python,java之「函数」

作者: 木云先森 | 来源:发表于2020-03-02 18:42 被阅读0次

介绍4种语音的函数定义和特殊的注意事项。横向对比,便于理解。

php7的函数定义

php7新增了更加严格的函数声明的类型定义,php也在不断的发展过程中,越来越和java等语言看起来比较接近
1.首先看下严格模式的写法

function 方法名(参数类型 参数数据) :返回值类型{
      方法语句;
      return 返回值;
}

2.举例更直观

//函数定义
function arraySum(array $arr) :int{
  //此处不加强制类型转换也可,语音自身会做隐式转换
  return (int)($arr[0] + $arr[1])
}
//调用并打印
var_dump(arraySum([10,20]));
//结果
int(30)

3.因为php为弱类型语音,也可以把上述事例,改为下方的简单的模式

//函数定义
function arraySum($arr) {

  return $arr[0] + $arr[1];
}
//调用并打印
var_dump(arraySum([10,20]));
//结果
int(30)

4.个人感受,写了近5年的php代码,php语法简单,类型控制少,减少再此上的思考时间。但是,如果做经常中大型项目,建议采用严格模式,能够在代码层面看清楚每个函数的类型和状态。也会减少很多奇怪的异常。

go的函数定义

1.首先看看语法

func 方法名(类型 参数) 返回类型{
   //方法语句
   return 返回值
}

2.举例更直观

package main

import "fmt"
//入口函数
func main() {
    fmt.Print(arraySum(10,20))
}
//函数定义
func arraySum(x ,y int) int{
    return x + y
}
//执行结果
30

tip:go的语句结尾可以不写分号,这点和python很相似

3.go和php的有点很大的不同是,go支持函数多返回值(和python类似),举例更直观

package main

import "fmt"
//入口函数
func main() {
    fmt.Print(arraySum(10,20))
}
//函数定义
func arraySum(x ,y int) int{
    return x + y, x * y;
}
//执行结果
30 200

4.go相对应php,python为静态语言,但是在语法上,相对于C和JAVA,也是尽量做到简单易用。

python

1.首先看语法

def 函数名(参数):
    语句
    return 返回值

2.举例更直观

//函数定义
def my_sum(x,y):
    return x+y
//打印输出
print(my_sum(10,20))
//执行结果
30

tip:python的语法,相对于其他语言,也是做到了极减,省去了很多的重复的大括号,依靠格式来进行语句的聚合

3.python也是支持函数多返回值的,在写php代码的时候,因为不支持多返会值,一般会用数组等类型进行包装,相对于此种方式,少了一些便利

//函数定义
def my_sum(x,y):
    return x+y,x*y
//打印输出
print(my_sum(10,20))
//执行结果
(30, 200)

4.python是很典型的弱类型语言,语法简单灵活。而php同学,则是越来越像JAVA,当然在性能上,相对于以前的php5,也有一定的提升

java

1.首先看语法

修饰符 返回类型 方法名(类型 参数){
    语句;
    return 返回值;
}

2.举例更直观

public class demo {
    //入口
    public static void main(String[] args) {
        my test = new my();
        System.out.println(test.my_sum(10,20));
    }
}

class my{
    //函数定义
    public int my_sum(int x, int y){
        return x + y;
    }
}
//执行结果
30

tip:java相对于前几种,特殊点在于是,java是完全面向对象,要有类的概念作为大前体,所以函数也可以称为成员方法。所以需要最前面的访问修饰符。上例写了2个类,如果一个类做打印,方法定义为静态方法即可。
3.java作为传统的静态语音,其语法和特点,都算是比较传统的

相关文章

  • php7,go,python,java之「函数」

    介绍4种语音的函数定义和特殊的注意事项。横向对比,便于理解。 php7的函数定义 php7新增了更加严格的函数声明...

  • 如何优雅处理GO异常

    go没有php java nodejs python的try catch 和异常捕获有关的几个内置函数defer ...

  • golang中特殊的init函数

    一、package 和init函数 package组织go代码的一种形式,和python ,Java,c++等语言...

  • ChatGPT 使用场景

    官方场景 代码相关 程序语言转换,比如Python转Java。目前支持语言包括Python, Java, Go, ...

  • Python精简学习(九)

    Python精简学习之函数之匿名函数-匿名函数

  • js珠峰高级003

    ###POP : C ###OOP: JAVA PHP C# .net JS Python Ruby Go ###...

  • GO之初见

    你好 go go并不是完全的面向对象,不像java一样运行一个函数都需要类,go直接在main函数中执行,main...

  • java之后 对go的学习

    java目前工作的语言 鉴于python, go 的趋势 区块链中 go 学习go语言,尝试不同的风格,以及实际的...

  • 7、函数

    1、Python之什么是函数 2、Python之调用函数 Python内置了很多有用的函数,我们可以直接调用。 要...

  • AWSIOT java与go客户端权限获取

    java pom.xml import 获取客户端函数 go go参考:github.com/alesr/awsi...

网友评论

    本文标题:php7,go,python,java之「函数」

    本文链接:https://www.haomeiwen.com/subject/fvyvkhtx.html