Sobes.tech
Junior

Null-safety-ში რა ოპერატორები არსებობს?

sobes.tech AI

პასუხი AI-სგან

Null Safety-ში Flutter-ში გამოიყენება შემდეგი ოპერატორები, რომლებიც დაკავშირებულია nullable ტიპებთან:

  • ? (საკითხი ნიშანი): გამოაცხადებს ცვლადს როგორც nullable.

    String? nullableString; // ცვლადი შეიძლება შეიცავდეს String-ს ან null-ს
    
  • ! (Bang ოპერატორი / Non-nullable Assertion): გარანტიას აძლევს კომპილატორს, რომ მნიშვნელობა ამ მომენტში არ არის null. გამოიყენება სიფრთხილით, რადგან შეიძლება გამოიწვიოს შესრულების დროს შეცდომა, თუ მნიშვნელობა აღმოჩნდება null.

    String nonNullableString = nullableString!; // გარანტია, რომ nullableString არ არის null
    
  • ?? (Null Coalescing ოპერატორი): უზრუნველყოფს ალტერნატიულ მნიშვნელობას, თუ მარცხენა მხარე null-ია.

    String result = nullableString ?? "Default Value"; // თუ nullableString null, result იქნება "Default Value"
    
  • ??= (Null Coalescing ასაინმენტის ოპერატორი): ასახავს მნიშვნელობას მარჯვენა მხარეს, თუ მარცხენა მხარე null-ია.

    String? variable;
    variable ??= "Initial Value"; // თუ variable null, მიენიჭება "Initial Value"
    
  • ?. (Null-aware წვდომის ოპერატორი): საშუალებას აძლევს უსაფრთხოდ მიიღოს წვდომა ობიექტის წევრებზე, რომელიც შეიძლება იყოს null. თუ ობიექტი null-ია, გამოთვლა აბრუნებს null.

    String? nullableString;
    int? length = nullableString?.length; // თუ nullableString null, length იქნება null
    
  • ?[] (Null-aware ინდექსის ოპერატორი): საშუალებას აძლევს უსაფრთხოდ მიიღოს წვდომა სიის ან Map-ის ელემენტებზე, რომლებიც შეიძლება იყოს null. თუ სია ან Map null-ია, გამოთვლა აბრუნებს null.

    List<int>? nullableList;
    int? firstElement = nullableList?[0]; // თუ nullableList null, firstElement იქნება null