การเขียนโปรแกรม D - ไวยากรณ์พื้นฐาน
D นั้นค่อนข้างง่ายในการเรียนรู้และมาเริ่มสร้างโปรแกรม D ตัวแรกของเรากันเถอะ!
โปรแกรม D แรก
ให้เราเขียนโปรแกรม D ง่ายๆ ไฟล์ D ทั้งหมดจะมีนามสกุล. d. ดังนั้นใส่ซอร์สโค้ดต่อไปนี้ในไฟล์ test.d
import std.stdio;  
/* My first program in D */ 
void main(string[] args) { 
   writeln("test!"); 
} 
    สมมติว่าสภาพแวดล้อม D ถูกตั้งค่าอย่างถูกต้องให้รันการเขียนโปรแกรมโดยใช้ -
$ dmd test.d 
$ ./test 
    เราสามารถดูผลลัพธ์ต่อไปนี้
test 
    ตอนนี้ให้เราดูโครงสร้างพื้นฐานของโปรแกรม D เพื่อให้คุณเข้าใจโครงสร้างพื้นฐานของภาษาโปรแกรม D ได้ง่าย
นำเข้าใน D
ไลบรารีที่เป็นคอลเลกชันของชิ้นส่วนโปรแกรมที่ใช้ซ้ำได้สามารถนำเข้ามาใช้ในโครงการของเราได้ ที่นี่เรานำเข้าไลบรารี io มาตรฐานซึ่งมีการดำเนินการ I / O พื้นฐาน Wreln ซึ่งใช้ในโปรแกรมข้างต้นเป็นฟังก์ชันในไลบรารีมาตรฐานของ D ใช้สำหรับพิมพ์บรรทัดข้อความ เนื้อหาไลบรารีใน D ถูกจัดกลุ่มเป็นโมดูลซึ่งขึ้นอยู่กับประเภทของงานที่ตั้งใจจะดำเนินการ โมดูลเดียวที่โปรแกรมนี้ใช้คือ std.stdio ซึ่งจัดการอินพุตและเอาต์พุตข้อมูล
ฟังก์ชั่นหลัก
ฟังก์ชันหลักคือการเริ่มต้นของโปรแกรมและกำหนดลำดับของการดำเนินการและวิธีการทำงานในส่วนอื่น ๆ ของโปรแกรม
โทเค็นใน D
โปรแกรม AD ประกอบด้วยโทเค็นต่างๆและโทเค็นเป็นทั้งคีย์เวิร์ดตัวระบุค่าคงที่สตริงลิเทอรัลหรือสัญลักษณ์ ตัวอย่างเช่นคำสั่ง D ต่อไปนี้ประกอบด้วยสี่โทเค็น -
writeln("test!"); 
    โทเค็นแต่ละรายการคือ -
writeln (
   "test!"
)
; 
    ความคิดเห็น
ความคิดเห็นเป็นเหมือนข้อความสนับสนุนในโปรแกรม D ของคุณและคอมไพเลอร์จะเพิกเฉย ความคิดเห็นหลายบรรทัดเริ่มต้นด้วย / * และสิ้นสุดด้วยอักขระ * / ดังที่แสดงด้านล่าง -
/* My first program in D */ 
    ความคิดเห็นเดียวเขียนโดยใช้ // ในส่วนเริ่มต้นของความคิดเห็น
// my first program in D 
    ตัวระบุ
AD identifier คือชื่อที่ใช้เพื่อระบุตัวแปรฟังก์ชันหรือไอเท็มที่ผู้ใช้กำหนด ตัวระบุเริ่มต้นด้วยตัวอักษร A ถึง Z หรือ a ถึง z หรือขีดล่าง _ ตามด้วยตัวอักษรศูนย์หรือมากกว่าขีดล่างและตัวเลข (0 ถึง 9)
D ไม่อนุญาตให้ใช้อักขระเครื่องหมายวรรคตอนเช่น @, $ และ% ภายในตัวระบุ D คือcase sensitiveภาษาโปรแกรม ดังนั้นกำลังคนและกำลังคนจึงเป็นตัวบ่งชี้สองตัวที่แตกต่างกันใน D นี่คือตัวอย่างบางส่วนของตัวระบุที่ยอมรับได้ -
mohd       zara    abc   move_name  a_123 
myname50   _temp   j     a23b9      retVal 
    คำหลัก
รายการต่อไปนี้แสดงคำสงวนบางคำใน D. คำสงวนเหล่านี้ไม่สามารถใช้เป็นค่าคงที่หรือตัวแปรหรือชื่อตัวระบุอื่น ๆ
| บทคัดย่อ | นามแฝง | จัดตำแหน่ง | asm | 
| ยืนยัน | อัตโนมัติ | ร่างกาย | บูล | 
| ไบต์ | กรณี | นักแสดง | จับ | 
| ถ่าน | ชั้นเรียน | const | ดำเนินการต่อ | 
| dchar | แก้จุดบกพร่อง | ค่าเริ่มต้น | มอบหมาย | 
| เลิกใช้แล้ว | ทำ | สองเท่า | อื่น | 
| enum | ส่งออก | ภายนอก | เท็จ | 
| สุดท้าย | ในที่สุด | ลอย | สำหรับ | 
| แต่ละ | ฟังก์ชัน | ไปที่ | ถ้า | 
| นำเข้า | ใน | inout | int | 
| อินเตอร์เฟซ | ไม่แปรผัน | คือ | ยาว | 
| มาโคร | มิกซ์อิน | โมดูล | ใหม่ | 
| โมฆะ | ออก | แทนที่ | แพ็คเกจ | 
| pragma | เอกชน | มีการป้องกัน | สาธารณะ | 
| จริง | อ้างอิง | กลับ | ขอบเขต | 
| สั้น | คงที่ | โครงสร้าง | สุดยอด | 
| สวิตซ์ | ซิงโครไนซ์ | แม่แบบ | นี้ | 
| โยน | จริง | ลอง | typeid | 
| ประเภทของ | ubyte | uint | อูหลง | 
| สหภาพแรงงาน | Unittest | ushort | รุ่น | 
| เป็นโมฆะ | wchar | ในขณะที่ | ด้วย | 
ช่องว่างใน D
บรรทัดที่มีเฉพาะช่องว่างอาจมีความคิดเห็นเรียกว่าบรรทัดว่างและคอมไพเลอร์ D จะละเว้นมันโดยสิ้นเชิง
Whitespace เป็นคำที่ใช้ใน D เพื่ออธิบายช่องว่างแท็บอักขระขึ้นบรรทัดใหม่และข้อคิดเห็น ช่องว่างแยกส่วนหนึ่งของคำสั่งออกจากอีกส่วนหนึ่งและช่วยให้ล่ามระบุตำแหน่งที่องค์ประกอบหนึ่งในคำสั่งเช่น int สิ้นสุดลงและองค์ประกอบถัดไปเริ่มต้น ดังนั้นในข้อความต่อไปนี้ -
local age 
    ต้องมีอักขระช่องว่างอย่างน้อยหนึ่งตัว (โดยปกติจะเป็นช่องว่าง) ระหว่างท้องถิ่นและอายุเพื่อให้ล่ามสามารถแยกแยะได้ ในทางกลับกันในข้อความต่อไปนี้
int fruit = apples + oranges   //get the total fruits 
    ไม่จำเป็นต้องใช้อักขระเว้นวรรคระหว่างผลไม้และ = หรือระหว่าง = และแอปเปิ้ลแม้ว่าคุณจะมีอิสระที่จะรวมบางส่วนหากต้องการเพื่อจุดประสงค์ในการอ่าน