खोज…


टिप्पणियों

import और library निर्देश आपको एक मॉड्यूलर और साझा करने योग्य कोड आधार बनाने में मदद कर सकते हैं। प्रत्येक डार्ट एप्लिकेशन एक library , भले ही वह एक पुस्तकालय निर्देश का उपयोग न करे। पुस्तकालयों को पैकेजों का उपयोग करके वितरित किया जा सकता है। पब के बारे में जानकारी के लिए पब पैकेज और एसेट मैनेजर देखें, एसडीके में शामिल एक पैकेज मैनेजर।

पुस्तकालयों का उपयोग करना

यह सुनिश्चित import लिए import का उपयोग करें कि एक लाइब्रेरी से कोई नाम स्थान दूसरे लाइब्रेरी के दायरे में कैसे उपयोग किया जाता है।

import 'dart:html';

import करने के लिए केवल आवश्यक तर्क पुस्तकालय को निर्दिष्ट करने वाला एक यूआरआई है। अंतर्निहित पुस्तकालयों के लिए, यूआरआई की विशेष dart: योजना है। अन्य पुस्तकालयों के लिए, आप फ़ाइल सिस्टम पथ या package: उपयोग कर सकते हैं package: योजना। package: योजना एक पैकेज प्रबंधक द्वारा प्रदान किए गए पुस्तकालयों को निर्दिष्ट करती है जैसे कि पब टूल। उदाहरण के लिए:

import 'dart:io';
import 'package:mylib/mylib.dart';
import 'package:utils/utils.dart';

पुस्तकालय और दृश्यता

जावा के विपरीत, डार्ट में public , protected और निजी कीवर्ड नहीं हैं। यदि कोई पहचानकर्ता अंडरस्कोर _ शुरू होता है, तो यह उसके पुस्तकालय के लिए निजी है।

यदि आप उदाहरण के लिए एक अलग लाइब्रेरी फ़ाइल (जैसे, other.dart ) में क्लास ए other.dart , जैसे:

library other;

class A {
  int _private = 0;

  testA() {
    print('int value: $_private');  // 0
    _private = 5;
    print('int value: $_private'); // 5
  }
}

और फिर इसे अपने मुख्य ऐप में आयात करें, जैसे:

import 'other.dart';

void main() {
  var b = new B();
  b.testB();    
}

class B extends A {
  String _private;

  testB() {
    _private = 'Hello';
    print('String value: $_private'); // Hello
    testA();
    print('String value: $_private'); // Hello
  }
}

आपको अपेक्षित आउटपुट मिलता है:

String value: Hello
int value: 0
int value: 5
String value: Hello

एक पुस्तकालय उपसर्ग निर्दिष्ट करना

यदि आप दो पुस्तकालयों को आयात करते हैं जिनमें परस्पर विरोधी पहचानकर्ता हैं, तो आप एक या दोनों पुस्तकालयों के लिए एक उपसर्ग निर्दिष्ट कर सकते हैं। उदाहरण के लिए, यदि लाइब्रेरी 1 और लाइब्रेरी 2 दोनों में एक तत्व वर्ग है, तो आपके पास इस तरह कोड हो सकता है:

import 'package:lib1/lib1.dart';
import 'package:lib2/lib2.dart' as lib2;
// ...
var element1 = new Element(); // Uses Element from lib1.
var element2 =
    new lib2.Element();       // Uses Element from lib2.

एक पुस्तकालय का केवल एक हिस्सा आयात करना

यदि आप लाइब्रेरी के केवल भाग का उपयोग करना चाहते हैं, तो आप चुनिंदा रूप से लाइब्रेरी का आयात कर सकते हैं। उदाहरण के लिए:

// Import only foo and bar.
import 'package:lib1/lib1.dart' show foo, bar;

// Import all names EXCEPT foo.
import 'package:lib2/lib2.dart' hide foo;

एक पुस्तकालय लोड कर रहा है

आस्थगित लोडिंग (जिसे आलसी लोडिंग भी कहा जाता है) किसी एप्लिकेशन को जरूरत पड़ने पर, जरूरत पड़ने पर लाइब्रेरी लोड करने की अनुमति देता है। लाइब्रेरी को लोड करने के लिए, आपको पहले इसे आस्थगित करके आयात करना होगा।

import 'package:deferred/hello.dart' deferred as hello;

जब आपको पुस्तकालय की आवश्यकता होती है, तो पुस्तकालय के पहचानकर्ता का उपयोग करके लोडलॉउंस () को लागू करें।

greet() async {
  await hello.loadLibrary();
  hello.printGreeting();
}

पूर्ववर्ती कोड में, await कीवर्ड लाइब्रेरी लोड होने तक निष्पादन को रोक देता है। async और await बारे में अधिक जानकारी के await , यहाँ अतुल्यकालिक समर्थन के लिए और उदाहरण देखें या भाषा दौरे के अतुल्यकालिक समर्थन भाग पर जाएँ।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow