คำถามติดแท็ก non-nullable

11
คำอธิบายที่ดีที่สุดสำหรับภาษาที่ไม่มีค่า null
บ่อยครั้งเมื่อโปรแกรมเมอร์กำลังบ่นเกี่ยวกับข้อผิดพลาด / ข้อยกเว้นของโมฆะบางคนถามว่าเราทำอะไรโดยไม่มีโมฆะ ฉันมีความคิดพื้นฐานเกี่ยวกับความเท่ของตัวเลือกประเภทต่าง ๆ แต่ฉันไม่มีความรู้หรือทักษะทางภาษาที่จะแสดงได้ดีที่สุด อะไรคือคำอธิบายที่ยอดเยี่ยมของสิ่งต่อไปนี้ที่เขียนในวิธีที่เข้าถึงโปรแกรมเมอร์โดยเฉลี่ยที่เราสามารถชี้ให้บุคคลนั้นเห็นได้ ความไม่พึงประสงค์ของการมีการอ้างอิง / พอยน์เตอร์จะเป็นโมฆะโดยค่าเริ่มต้น ประเภทตัวเลือกทำงานอย่างไรรวมถึงกลยุทธ์ในการตรวจสอบกรณีว่างเช่น การจับคู่รูปแบบและ ความเข้าใจแบบ monadic ทางเลือกอื่น ๆ เช่นการกินข้อความไม่มี (ด้านอื่น ๆ ที่ฉันพลาด)

2
ใน Kotlin เป็นวิธีสำนวนที่จะจัดการกับค่า nullable การอ้างอิงหรือการแปลงพวกเขา
หากฉันมีประเภทที่ไม่สามารถใช้Xyz?งานได้ฉันต้องการอ้างอิงหรือแปลงเป็นประเภทที่ไม่สามารถยกเลิกXyzได้ การทำเช่นนั้นใน Kotlin เป็นอย่างไร? ตัวอย่างเช่นรหัสนี้มีข้อผิดพลาด: val something: Xyz? = createPossiblyNullXyz() something.foo() // Error: "Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type Xyz?" แต่ถ้าฉันตรวจสอบโมฆะก่อนอนุญาตทำไม? val something: Xyz? = createPossiblyNullXyz() if (something != null) { something.foo() } ฉันจะเปลี่ยนหรือรักษาค่าที่ไม่ใช่nullโดยไม่ต้องมีการifตรวจสอบโดยสมมติว่าฉันรู้ว่ามันไม่เคยมีจริงnullหรือ ยกตัวอย่างเช่นที่นี่ฉันกำลังเรียกค่าจากแผนที่ที่ผมสามารถรับประกันได้อยู่และผลจากการไม่ได้get() nullแต่ฉันมีข้อผิดพลาด: val map = mapOf("a" …

3
วิธีปฏิบัติที่ดีที่สุดสำหรับการใช้ประเภทข้อมูลอ้างอิงที่เป็นโมฆะสำหรับ DTO
ฉันมี DTO ซึ่งบรรจุด้วยการอ่านจากตาราง DynamoDB พูดว่าตอนนี้ดูเหมือนว่านี้: public class Item { public string Id { get; set; } // PK so technically cannot be null public string Name { get; set; } // validation to prevent nulls but this doesn't stop database hacks public string Description { get; set; } // can …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.