一、显式变量:定义变量时申明变量类型
比如: var myVar:String;
变量未赋值之前不能使用
一旦变量类型申明后,不能再赋值其他类型的值
但可以用其他类型重新申明变量,比如var myVar:Int,但最好不要这样做
二、函数变量
函数public function outputString(st : String) : Void;的类型为String->Void
public function sumAndCeil(a : Float, b : Int) : Int类型为Float->Int->Int
public function filter(f : String->Bool) : List<String>类型为(String->Bool)->List<String>
public function takesStringReturnsFunction(s : String) : String->Bool类型为String->(String->Bool)
三、动态函数
函数和静态函数都可以设置为动态,这样在运行时,可以重新设置函数的值,但类型必须一致。
动态函数只能设置在类的实例上,静态函数只能设置在类上,另外动态函数不能重载,也不能用super
public dynamic function saySomething()
public static dynamic function saySomething()
四、匿名对象
var obj: { id:Int, name:String } = { id:10, name:"Name" };
五、Duck Typing:如果某个类里面有匿名对象里的所有成员变量,这此类可以赋值给匿名变量
class DuckType
{
public var id:Int;
public var name:String;
public function new(id:Int, name:String)
{
this.id = id;
this.name = name;
}
}
var obj: { id:Int, name:String } = new DuckType(10, "Name“);
六、隐式变量
申明变量时不指定类型,由编译器判断其类型(第一次赋值时)
七、类型转换
1. 安全转换
var a : A;
var b : B;
b = cast(a, B);//如果a不是B类型,运行时会出错
2. 非安全转换
var i : Int;
i = cast "Hello";//可以将任意类型的变量转换为被赋值变量的类型,但如果不能转换时,会报运行时错误
3. untyped
untyped { myVar.doSomething();}//此时编译器不会检查类型,但可能产生运行时错误
八、模板类
1. class Array<T>
2. class Fridge<T: (Fruit, Eatable)>//T必须是Fruit和Eatable类型
分享到:
相关推荐
**haXe学习笔记(一)** haXe是一种多平台的静态类型编程语言,它设计的目标是提供高性能、跨平台的解决方案。haXe不仅可以用于Web开发,还可以编写桌面应用、服务器端脚本和移动应用。在本学习笔记中,我们将深入...
通过以上总结可以看出,《Professional haXe and Neko》这本书涵盖了 haXe 和 Neko 相关的广泛知识领域,从基础知识到高级应用都有涉猎,对于希望深入学习这两种语言的开发者来说是非常有价值的资源。
haXe2语言参考手册haXe API Documentation
Haxe是一门新兴的开源编程语言,开发者称:“相比其他语言(Java的平台是 JVM,C#的平台是.Net,ActionScript的平台是Flash Player等等),Haxe才是真正的多平台语言。不管是开发原生iOS、Android应用,还是网页;...
intellij-haxe, IntelliJ平台的Haxe插件( IDEA,Android Studio ) 用于 IntelliJ IDEA的 Haxe插件这个插件允许你使用 IntelliJ IDEA 开发 Haxe程序。 它需要 IntelliJ IDEA 最终版或者社区版,版本 14,15,2016和...
Atom-hxatom是针对Atom文本编辑器的一个扩展,它提供了Haxe语言的类型定义,使得在使用Atom编辑Haxe代码时能获得更好的代码补全、语法高亮和错误检查等功能。Atom是一个广受欢迎的开源文本编辑器,由GitHub开发,其...
- **学习资源**:尽管Haxe2.1的文档可能较少,但官方文档和社区论坛(如Haxe.org和HaxeFoundation的GitHub仓库)仍然可以作为学习的起点。 总的来说,Haxe2.1是一个早期版本的Haxe,对于历史研究或特定项目可能...
### haXe2语言参考手册知识点详述 #### 基本类型 (Basic Types) - **定义**: 在haXe2中,基本类型是构建所有数据结构的基础。 - **示例**: 包括整型(`Int`), 浮点型(`Float`), 字符串(`String`), 布尔值(`Bool`)等...
Haxe是一种多平台的编程语言,它允许开发者编写一次代码,然后编译成可以在...虽然现在可能有更新的Haxe版本,但这个早期版本对于学习Haxe的基本概念和语法仍然有价值,特别是对于历史项目或者研究旧代码的开发者来说。
Haxe是一个开源工具包,可让您轻松构建针对许多主流平台的跨平台工具和应用程序。 Haxe工具包包括: Haxe编程语言,一种现代的高级严格类型的编程语言 Haxe交叉编译器,适用于许多目标的最先进的闪电般的编译器 ...
已经部署好的HAXE最新版本 HAXE 3.2.0 OPENFL 3.3.2 其他库为最新版本,包含开发游戏所需全部内容
本教程集是为那些想要学习或深入理解Haxe语言的人准备的,充满了作者的热爱与用心。 Haxe的基础知识包括语法、类型系统、类和接口、模块、包结构以及标准库的使用。Haxe语法与Java和C#类似,但更简洁,支持静态和...
在IT行业中,跨平台开发是常见的需求,Haxe语言因其强大的多平台支持而备受青睐。NME(Native Media Extensions)是Haxe的一个扩展库,它允许开发者使用Haxe编写的游戏或应用运行在多个平台上,包括Android。本篇将...
Haxe是一种多平台的编程语言,它允许开发者编写一次代码,然后编译成不同目标平台的原生代码,包括JavaScript、C++...这个项目可能包含了Haxe源文件、编译脚本以及打包工具,是学习和实践Haxe与LuaJIT结合的宝贵资源。
haxe3-manual Haxe是一门新兴的开源编程语言,开发者称:“相比其他语言(Java的平台是 JVM,C#的平台是.Net,ActionScript的平台是Flash Player等等),Haxe才是真正的多平台语言。不管是开发原生iOS、Android应用...
Haxe 中 Haxe 的静态分析和样式检查 安装 来自haxelib haxelib install haxelint 手动构建 haxe build.hxml 用法 从命令行 haxelib run haxelint -s <HAXE> 只haxelib run haxelint寻求帮助 使用 API var file...
Haxe经理使用户能够从VScode中创建haxe项目,并扩展vscode使其成为更集成的haxe IDE的功能。 如果有人想贡献项目模板,那么我将使用Haxe的内置系统,因为它足够简单,可以用于本用例。 现在,这仅对样板代码有帮助:...
Haxe 宏、Haxe Magic 和 Haxe 元数据代码示例Haxe 的新手? 需要快速入门 Haxe 宏? 好吧,我们开始了。 该项目包含大量示例,可帮助您快速释放 Haxe 宏的威力。已知限制请注意,这些样本只是 - 样本。 它们绝不是...