Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
Vala语言的诸多特性
Theme area
1751
views ·
3
replies ·
To
floor
Go
hummerstudio
deepin
2018-01-01 07:10
Author
之前折腾学习Vala语言时的记录,发出来分享一下。
Vala语言的诸多特点
1.语法类似C#
语法是语言的外观和形式。怎么样都行,不过当然还是越简洁明了越好。
比如引入库文件,C语言使用类似:
#include 'stdio.h'
C++语言除了上面的方式,还可以使用类似:
#include
Java语言使用:
import javax.swing.*
而Vala采用类似C#的语法,所以Vala语言是使用类似:
using Gtk;
的方式。
2.基本库是GLib
C语言的基本库是标准C语言库,其定义了基本数据类型等等信息。类似的,Vala的基本库是GLib。GLib是使用C语言编写的,但我们完全可以不去考虑GLib和标准C语言库的关系。Vala的基本库就是GLib,GLib定义了一系列的基本数据类型等等信息。这些基本类型包含C语言的基本数据类型,又有扩充,包括int,int8,int16,int32,int64,bool,unichar等等;不用去考虑它扩充了C语言的哪些部分,就当作是Vala本有的,这样便于理解。
3.基本类型有方法
如:
int a = -4.abs();
string s = a.to_string();
int b = int.max(1, 2);
4.支持逐字字符串
语法:"""..."""
5.支持字符串模板
如:
string name = "ming";
stdout.printf(@"Welcome, $name");
stdout.printf(@"3 + 2 = $(3 + 2)");
6.支持类型推导(可以使用var定义变量)!
如:
var obj = new object();
var map = new HashMap;
var str = "hello, world";
var arr = new int[10];
7.没有隐式继承
定义类需要写明继承自Object(GLib.Object)
如:
public class Foo : Object {
}
8.没有方法重载
为了保持与C兼容,没有方法重载功能,需要使用不同的方法名词来定义不同的方法(不论参数的个数、类型、顺序是否相同)
Reply
Like 0
Favorite
View the author
All Replies
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2018-01-01 07:40
#1
点赞,喜欢这类型帖子
Reply
Like 0
View the author
135******79
deepin
2018-01-01 08:39
#2
C语言可以使用 #include
Reply
Like 0
View the author
chenjazz
deepin
2018-01-01 16:43
#3
语法不错!
Reply
Like 0
View the author
Please
sign
in first
Featured Collection
Change
[Tutorial] deepin25 WSL Offline Installation Guide
UOS AI 2.8 Released! Three New Intelligent Agents & Major Evolution
Solid Q&A | deepin 25 Common Questions – The Immutable System Edition
New Thread
Popular Ranking
Change
Looking Deepin ci 25.2.0 Developer/Unstable repositories
How to fix grub boot menu that has disappeared?
Popular Events
More
Vala语言的诸多特点
1.语法类似C#
语法是语言的外观和形式。怎么样都行,不过当然还是越简洁明了越好。
比如引入库文件,C语言使用类似:
#include 'stdio.h'
C++语言除了上面的方式,还可以使用类似:
#include
Java语言使用:
import javax.swing.*
而Vala采用类似C#的语法,所以Vala语言是使用类似:
using Gtk;
的方式。
2.基本库是GLib
C语言的基本库是标准C语言库,其定义了基本数据类型等等信息。类似的,Vala的基本库是GLib。GLib是使用C语言编写的,但我们完全可以不去考虑GLib和标准C语言库的关系。Vala的基本库就是GLib,GLib定义了一系列的基本数据类型等等信息。这些基本类型包含C语言的基本数据类型,又有扩充,包括int,int8,int16,int32,int64,bool,unichar等等;不用去考虑它扩充了C语言的哪些部分,就当作是Vala本有的,这样便于理解。
3.基本类型有方法
如:
int a = -4.abs();
string s = a.to_string();
int b = int.max(1, 2);
4.支持逐字字符串
语法:"""..."""
5.支持字符串模板
如:
string name = "ming";
stdout.printf(@"Welcome, $name");
stdout.printf(@"3 + 2 = $(3 + 2)");
6.支持类型推导(可以使用var定义变量)!
如:
var obj = new object();
var map = new HashMap;
var str = "hello, world";
var arr = new int[10];
7.没有隐式继承
定义类需要写明继承自Object(GLib.Object)
如:
public class Foo : Object {
}
8.没有方法重载
为了保持与C兼容,没有方法重载功能,需要使用不同的方法名词来定义不同的方法(不论参数的个数、类型、顺序是否相同)