फ्लूटर (डार्ट) टिप्स शीट
कुछ बुनियादी डार्ट भाषा निर्माणों का वर्णन किया गया है।
यहाँ एक Flutter (Dart) के लिए टिप्पणी पत्र है जिसमें सबसे उपयोगी आदेश और भाषा निर्माण शामिल हैं:
ऊपर एक AI-जनित छवि (Flux 1 विकास मॉडल द्वारा) है जो विकासकर्ता फ्लूट और डार्ट बजाता है के चित्र का प्रतिनिधित्व करती है।
Flutter CLI आदेश
एक नए Flutter प्रोजेक्ट के निर्माण के लिए:
flutter create <project_name>
एक Flutter एप्लिकेशन को चलाएं:
flutter run
एक रिलीज APK के निर्माण के लिए:
flutter build apk
Dart कोड के विश्लेषण के लिए:
flutter analyze
परीक्षण चलाएं:
flutter test
पैकेज प्राप्त करें:
flutter pub get
Flutter के अपग्रेड करें:
flutter upgrade
Flutter इंस्टॉलेशन की जांच करें:
flutter doctor
Dart भाषा निर्माण
चर और डेटा प्रकार:
int age = 30;
double price = 9.99;
String name = 'John';
bool isActive = true;
var dynamicVar = 'Can be any type';
final constantVar = 'Cannot be reassigned';
const compiletimeConstant = 'Compile-time constant';
नल सुरक्षा:
String? nullableString;
String nonNullableString = 'Hello';
फ़ंक्शन:
void simplePrint() {
print('Hello');
}
int add(int a, int b) => a + b;
void namedParams({required String name, int? age}) {
// Function body
}
void optionalParams(String name, [int? age]) {
// Function body
}
नियंत्रण प्रवाह:
if (condition) {
// code
} else if (anotherCondition) {
// code
} else {
// code
}
for (var i = 0; i < 5; i++) {
// code
}
while (condition) {
// code
}
switch (variable) {
case value1:
// code
break;
default:
// code
}
सूचियाँ और मानचित्र:
List<int> numbers = [1, 2, 3];
Map<String, int> ages = {'Alice': 30, 'Bob': 25};
कक्षाएँ:
class Person {
String name;
int age;
Person(this.name, this.age);
void sayHello() {
print('Hello, I am $name');
}
}
असिंक्रोनस कार्य:
Future<void> fetchData() async {
try {
var result = await someAsyncOperation();
print(result);
} catch (e) {
print('Error: $e');
}
}
धाराएँ:
Stream<int> countStream(int max) async* {
for (int i = 0; i < max; i++) {
yield i;
}
}
त्रुटि प्रबंधन:
try {
// Code that might throw an exception
} on SpecificException {
// Handle specific exception
} catch (e) {
// Handle any exception
} finally {
// Always executed
}
यह टिप्पणी पत्र सबसे महत्वपूर्ण Flutter आदेशों और Dart भाषा निर्माणों को कवर करता है, जो Flutter विकासकर्ताओं के लिए एक त्वरित संदर्भ प्रदान करता है।
Flutter / Dart में नल सुरक्षा
Flutter एप्लिकेशनों के लिए Dart में नल सुरक्षा के साथ काम करना मजबूत और त्रुटि मुक्त कोड लिखने के लिए आवश्यक है। यहाँ नल सुरक्षा के साथ काम करने के लिए एक सरल मार्गदर्शन है:
चर घोषित करें
अविलंब चर:
int age = 30;
String name = 'John';
नल चर:
int? nullableAge;
String? nullableName;
नल प्रकार के साथ काम करें
नल-सचेत संचालक:
- नल-सचेत पहुँच संचालक (?.)
String? name;
print(name?.length); // यदि नाम नल नहीं है तो लंबाई के सुरक्षित उपयोग
- नल-संयोजक संचालक (??)
String? name;
String displayName = name ?? 'मेहमान';
- नल-सचेत स्थानांतरण संचालक (??=)
String? name;
name ??= 'जॉन'; // यदि नाम नल है तो 'जॉन' स्थानांतरित करें
नल दावा संचालक (!) इस संचालक का ध्यान से उपयोग करें, क्योंकि यह मूल्य नल होने पर चलाने के दौरान त्रुटि के खतरे का कारण बन सकता है:
String? nullableName = 'जॉन';
String nonNullableName = nullableName!;
प्रवाह विश्लेषण
Dart के प्रवाह विश्लेषण नल चर के सुरक्षित उपयोग के समय निर्धारित करता है:
String? getName() => 'जॉन';
void printName() {
String? name = getName();
if (name != null) {
print(name.length); // यहाँ नाम के सुरक्षित उपयोग करें
}
}
देर से चर
अनुक्रमणिका के बाद घोषित अविलंब चर के लिए late
का उपयोग करें:
late String lateInitializedName;
void initializeName() {
lateInitializedName = 'जॉन';
}
नल पैरामीटर के साथ काम करें
void greet(String name, {String? title}) {
if (title != null) {
print('हैलो, $title $name');
} else {
print('हैलो, $name');
}
}
संग्रह के साथ काम करें
नल सूचियाँ:
List<String>? nullableList;
List<String?> listOfNullableStrings = ['हैलो', null, 'दुनिया'];
नल मानों के साथ काम करें:
List<String?> mixedList = ['a', null, 'b', null, 'c'];
List<String> nonNullList = mixedList.whereType<String>().toList();
इन प्रैक्टिस के अनुसरण करके, आप अपने Dart और Flutter एप्लिकेशन में नल सुरक्षा के साथ काम कर सकते हैं, जिससे नल संबंधी त्रुटियों के जोखिम कम हो जाता है और समग्र कोड की गुणवत्ता में सुधार होता है।