基本概念
| C | Java | PHP | GO |
|---|
| 语言类型 | 编译性语言 | 编译性语言 | 解释型语言 | 编译性语言 |
| 是否为强类型 | 是 | 是 | 否 | 是 |
| 是否为面向对象 | 否 | 是 | 是 | 是 |
| 是否支持多线程 | 是 | 是 | 否 | 是 |
| 优点 | 可直接对内存进行读写 | 自动GC,跨平台 | 易学,迭代快 | 自动GC,并发效率高 |
| 使用场景 | 底层开发 | web,大数据 | web开发 | web开发,云平台 |
基本数据类型
c类型=基本类型+枚举类型(算数类型)+void+派生类型(指针、数组、函数类型、....)
| C | Java | PHP | GO |
|---|
| 整型 | int unsigned int short unsigned short long unsigned long | byte short int long sizeof查看字节长度 | int | int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 |
| 浮点型 | float double long double | float 32位 double 64位 | float double | float32 float64 |
| 复数 | 无 | 无 | 无 | complex64 complex128 |
| 布尔型 | | true和false | true和false | true和false |
| 字符 | char、unsigned char、signed char | char | | rune |
| 字符串 | | char数组组成 | Unicode组成 | rune slice |
| void | 函数返回为空 函数参数为空 指针执行void | 无 | 无 | 无 |
变量&常量
| C | Java | PHP | GO |
|---|
| 变量 | int a =1; (左值:表达式,右值:值) | int a =1; | $a = 1 | var a int = 1 a:=1 |
| 常量 | define a 1或const int a =1 | final int a =1; | define const | const(iota) |
| 整数常量 | 0x或0X=十六进制,0=八进制,默认=十进制 | | | |
| 指针 | | | | |
访问范围
| C | Java | PHP | GO |
|---|
| auto | 局部变量(默认) | 无 | 无 | 无 |
| register | 存放在寄存器,而不是RAM(快速访问) | 无 | 无 | 无 |
| static | 全局静态变量,随程序生命周期 | 无 | 无 | 无 |
| extern | 全局变量 | 无 | 无 | 无 |
| public | | | | |
| protect | | | | |
| private | | | | |
流程控制
| C | Java | PHP | GO |
|---|
| 循环 | for while dowhile(goto) | for(init; condition; post) for(int i:integers) | while,do while,for,foreach | for condition { } for init; condition; post { } |
| if else | if else | if else if | if elseif | if else if |
| switch | switch | 必须break 有default | 必须break 有default | 默认break |