当前位置: 首页 > backend >正文

各大编程语言基本语法区别

 1:语言特点

函数式语言和面向对象语言的区别:函数式用函数直接进行操作,面向对象用object.method()进行操作;如:len()  <=> object.length()

C 语言:1)C 语言可以像汇编语言一样对位、字节和地址进行操作;2)有函数原型;3)具有大量的数值类型;4)函数是C语言的重点;5)指针;6)static变量生命周期为全程,但作用域为私有;普通全局变量生命周期为全程,作用域为全局;7).数组充当字符串语法,最后一个字符明确写‘\0’;8)对于代表的是地址的变量不能直接赋值。

ArkTS: 1)大量使用冒号:,冒号后面声明类型;2)java和js语法的集合体;3)由多个类型组合成的引用类型,联合类型;

Python:1.冒号缩进,书写格式严谨,靠空格;2.函数可以返回多个值

Go: 语法上和Python比较相似   1.用 := 符号声明变量及赋值(局部变量);2.iota关键字用法;3.拥有和C一样的指针*和&地址;4.没有三目运算符,所以不支持 ?: 形式的条件判断;5.有select 语句;6.函数可以返回多个值;7.切片(动态数组)[ ]  [ : ],类比java List;7.错误处理采用显式返回错误的方式,而非传统的异常处理机制;8.返回类型在方法的最后;9.使用 <- 操作符发送和接收数据;10.不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。11.只有 for 循环这一种循环语句。形式1)=》for initialization; condition; post { // zero or more statements };for 循环三个部分不需括号包围。for 循环的这三个部分每个都可以省略。大括号强制要求,左大括号必须和 post 语句在同一行。形式2)=》每次循环迭代,range 产生一对值;索引以及在该索引处的元素值。range关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素;12.空标识符(blank identifier),即 _(也就是下划线)。空标识符可用于在任何语法需要变量名但程序逻辑不需要的时候(如:在循环里)丢弃不需要的循环索引,并保留元素值。13.nil代替其它语言里的 NULL。14.test只需根据名称进行约定就可以,go test命令是一个按照一定的约定和组织来测试代码的程序。15.名字的开头字母的大小写决定了名字在包外的可见性。如果一个名字是大写字母开头的(译注:必须是在函数外部定义的包级名字;包级函数名本身也是包级名字),那么它将是导出的,也就是说可以被外部的包访问,例如fmt包的Printf函数就是导出的,可以在fmt包外部访问。包本身的名字一般总是用小写字母。16.主要有四种类型的声明语句:var、const、type和func,分别对应变量、常量、类型和函数实体对象的声明。

2.数据类型

  java 八大基本数据类型:byte、 short、int、long、float、double、char、boolean 

  js ES5 八大数据类型:String、Number、Boolean、Object、undefined、null 、ES6新增Symbol,BigInt(任意精度的整数)

  C语言:int(整形:short(>=16位)、 long(>=32位)、long long(>=64位)、unsigned、signed等修饰符进行整形修饰)、float、double、char、void、_Bool、_Complex(float_Complex、double_Complex、long double_Complex)、_Imaginary(float_Imaginary、double_Imaginary、long double_Imaginary)

python:不可变数据(3 个):Numberint (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。bool (布尔),Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True&

http://www.xdnf.cn/news/6057.html

相关文章:

  • 游戏引擎学习第279天:将实体存储移入世界区块
  • 为什么 Linux 上默认没有 host.docker.internal
  • 【内网渗透】——NTML以及Hash Relay
  • MySQL Explain 中 Type 与 Extra 字段详解
  • MySQL 服务器配置和管理(上)
  • 监听用户切换浏览器标签页,切换回页面刷新页面
  • 代码随想录算法训练营第60期第三十五天打卡
  • 嵌入式自学第二十天(5.13)
  • AIStarter新功能上线:模型管理与创作者收益系统全面升级,助力AI开发效率提升
  • 函数定义、 异常处理、 迭代器协议、内置函数、返回值
  • WiFi密码查看器打开软件自动获取数据
  • 通用Agent如何评估效果:智能体评测方案AgentCLUE-General(Manus暂时领先)
  • 人形机器人的 9 个分岔口
  • 图灵爬虫练习平台 第十四题 逆向
  • 一款倒计时结束强制关闭浏览器的插件
  • 可视化图解算法38:重建二叉树
  • C++标准流详解:cin/cout的绑定机制与cerr/clog的缓冲差异
  • Spark集群搭建-Standalone
  • 芯片:金线的作用
  • 关于 ast: Babel AST 全类型总览
  • 在Java中实现Parcelable接口和Serializable接口有什么区别?
  • trame实现双视图(返场版)
  • MySQL 日期计算方法 date_sub()、date_add()、datediff() 详解-文中有示例帮助理解
  • java基础-泛型
  • tails os系统详解
  • 实物工厂零件画图案例(上)
  • 进程与线程:09 进程同步与信号量
  • Linux的域名解析服务器
  • OAuth安全架构深度剖析:协议机制与攻防实践
  • 【Nacos】env NACOS_AUTH_IDENTITY_KEY must be set.