Swift:
การสร้างตัวเลขสุ่ม
วิธีการ:
Swift มีวิธีการที่ตรงไปตรงมาในการสร้างตัวเลขสุ่มผ่านไลบรารีมาตรฐานของมัน นี่คือวิธีที่คุณทำสำหรับประเภทตัวเลขต่างๆ:
// สร้างตัวเลขจำนวนเต็มสุ่มระหว่าง 0 ถึง Int.max
let randomInt = Int.random(in: 0...Int.max)
print(randomInt)
// สร้างตัวเลขทศนิยมสุ่มระหว่าง 0.0 ถึง 1.0
let randomDouble = Double.random(in: 0.0...1.0)
print(randomDouble)
// สร้างค่า Bool สุ่ม
let randomBool = Bool.random()
print(randomBool)
ผลลัพธ์ตัวอย่างอาจแตกต่างกัน เพราะ เอ้ะ เรากำลังจัดการกับความสุ่มหลังจากทั้งหมด การเรียกใช้โค้ดหลายครั้งจะให้ผลตัวเลขและค่าบูลีนที่แตกต่างกัน
การทำความเข้าใจลึกซึ้ง
การเข้าหาการสร้างตัวเลขสุ่มของ Swift นั้นสร้างขึ้นบนเครื่องกำเนิดตัวเลขสุ่มปลอม (PRNG) ที่มีความเข็มแข็งและมีประสิทธิภาพก่อน Swift 4.2, นักพัฒนาพึ่งพาไลบรารีภายนอกหรือความสามารถของแพลตฟอร์มพื้นฐาน ซึ่งอาจนำไปสู่ความไม่สอดคล้องกันในแพลตฟอร์มและสภาพแวดล้อมที่แตกต่างกัน ด้วยการแนะนำ API ภายใน Swift 4.2, การสร้างตัวเลขสุ่มจึงง่ายและสอดคล้องกันมากขึ้น ไม่ว่าจะอยู่บนแพลตฟอร์มใดก็ตาม
อย่างไรก็ดี, สำคัญที่จะต้องเข้าใจว่า เครื่องกำเนิดตัวเลขสุ่มมาตรฐานใน Swift ไม่เหมาะสมสำหรับวัตถุประสงค์ด้านการเข้ารหัสลับ สำหรับการเข้ารหัสลับ, นักพัฒนาควรใช้กรอบงาน Security
บนแพลตฟอร์ม Apple, ซึ่งให้การเข้าถึงไบต์สุ่มที่ปลอดภัยทางการเข้ารหัส ณ การอัพเดตครั้งล่าสุดของฉัน, Swift ไม่ได้รวมเครื่องกำเนิดตัวเลขสุ่มที่ปลอดภัยทางการเข้ารหัสในไลบรารีมาตรฐานของตัวเอง ทำให้นักพัฒนาต้องมองหาไลบรารีภายนอกสำหรับความต้องการเหล่านั้นบนแพลตฟอร์มที่ไม่ใช่ Apple
ในด้านของการคำนวณทางวิทยาศาสตร์หรือสถานการณ์ที่ต้องการลำดับตัวเลขสุ่มปลอมที่สามารถกำหนดได้ (ที่สามารถทำซ้ำลำดับได้โดยชัดเจน), การสร้างตัวเลขสุ่มของ Swift อาจไม่ใช่ตัวเลือกที่ดีที่สุดโดยไม่มีความสามารถในการตั้งค่าเมล็ดให้กับเครื่องกำเนิด ในกรณีเหล่านี้ ลักษณะใช้งานไลบรารีและอัลกอริทึมเฉพาะเพื่อตอบสนองความต้องการที่แม่นยำเหล่านั้น