我本身有啥语言都会点,所以这门语言我会用其他语言的特性来描述,请谨慎阅读

安装

curl https://dlang.org/install.sh | bash -s

基本的工具 dmd编译,rdmd可以当成shell脚本使用#!/usr/bin/env rdmd 包管理工具dub

包引用语法 import std.stdio : writeln, writefln;基本上大同小异

基本概念

  • 类型,完全等同于c/c++但是存在构造函数.init

    • 每个类型有各种属性,.max .nan 等等,构造函数也是一种属性,.stringof返回自身名字。感觉这很反射,python也有__repr__
    • auto 同,typeof也类似,immutable等同于const
    • 内存管理,内嵌GC,三种内存模式 @system默认 @safe 检查内存安全@trusted三方api互通有点像rust的unsafe
  • 控制流,完全一致,有个foreach相当于range-for
  • 函数,完全一致,支持函数内函数,以及返回auto
  • 结构体/类,this函数就是构造函数,private修饰成员函数,override修饰
    • interface接口以及工厂模式
  • 数组,支持slice,类似go,map就是特殊的数组 int[string] arr;
  • 模版,完全就是go那个德行
auto add(T)(T lhs, T rhs) {
    return lhs + rhs;
}

struct S(T) {
    // ...
}

大概就这么多


ref

  • https://tour.dlang.org/tour/en/basics/functions
  • 魔鬼细节 http://dpldocs.info/this-week-in-d/Blog.Posted_2021_02_15.html