C& Java&PHP&Go对比

189 阅读2分钟

基本概念

CJavaPHPGO
语言类型编译性语言编译性语言解释型语言编译性语言
是否为强类型
是否为面向对象
是否支持多线程
优点可直接对内存进行读写自动GC,跨平台易学,迭代快自动GC,并发效率高
使用场景底层开发web,大数据web开发web开发,云平台

基本数据类型

c类型=基本类型+枚举类型(算数类型)+void+派生类型(指针、数组、函数类型、....)

CJavaPHPGO
整型int unsigned int short unsigned short long unsigned longbyte short int long sizeof查看字节长度intint int8 int16 int32 int64 uint uint8 uint16 uint32 uint64
浮点型float double long doublefloat 32位 double 64位float doublefloat32 float64
复数complex64 complex128
布尔型true和falsetrue和falsetrue和false
字符char、unsigned char、signed charcharrune
字符串char数组组成Unicode组成rune slice
void函数返回为空 函数参数为空 指针执行void

变量&常量

CJavaPHPGO
变量int a =1; (左值:表达式,右值:值)int a =1;$a = 1var a int = 1 a:=1
常量define a 1或const int a =1final int a =1;define constconst(iota)
整数常量0x或0X=十六进制,0=八进制,默认=十进制
指针

访问范围

CJavaPHPGO
auto局部变量(默认)
register存放在寄存器,而不是RAM(快速访问)
static全局静态变量,随程序生命周期
extern全局变量
public
protect
private

流程控制

CJavaPHPGO
循环for while dowhile(goto)for(init; condition; post) for(int i:integers)while,do while,for,foreachfor condition { } for init; condition; post { }
if elseif elseif else ifif elseifif else if
switchswitch必须break 有default必须break 有default默认break