Tea 数据类型
优质
小牛编辑
131浏览
2023-12-01
1. 强类型
int i = 4;
auto b = 5; // 自动推导类型
var c = 5; // 动态类型。
2. 内置系统值类型
常用: Char Bool
整数: Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64
小数: Float32 Float64 Decimal
为了使用方便,一些常用的类型由语言提供关键字:
bool = Bool
char = Char
byte = UInt8
short = Int16
int = Int32
long = Int64
float = Float64 // 不习惯点:float 相当于 C 的 double, 没有 double 。
decimal = Decimal
3. 默认 public, 名字前有 _ 则默认 private
4. 类型转换
不区分隐式类型转换和强制转换和函数调用,统一使用 as。
int a = 1 as long // 即C的 int a = 1L;
int a = b as long // 即C的 int a = (long)b;
5. 指针操作
语法上不支持 t* 和 &obj, 使用: Ptr 和 obj as Ptr
6. 使用类名来获取类型本身并用来反射。
Type s = String;
Method d = s.replace;
string ns = d.call("", "a", "b");
7. 允许类级别的 using
class A{
static void fn();
}
class B{
using A;
void gn(){
fn(); // A.fn();
}
}
8. 没有析构函数
9. 没有 static class, 改用 namespace
10. 没有 abstract class, 改用 interface
11. 允许扩展类成员
class A{
}
extends A{
void fff(){}
}