de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 nick
nick
Question

Apa perbedaan antara "acara" dan "seperti" dalam sebuah pernyataan impor?

Apa perbedaan antara show dan seperti dalam sebuah pernyataan impor?

Misalnya, apa yang's perbedaan antara

import 'dart:convert' show JSON;

dan

import 'package:google_maps/google_maps.dart' as GoogleMap;

Kapan saya gunakan tampilkan dan kapan saya harus menggunakan sebagai?

Jika saya beralih ke tampilkan GoogleMap semua referensi untuk GoogleMap (misalnya GoogleMap.LatLng) benda-benda yang dilaporkan sebagai tidak terdefinisi.

43 2013-11-01T08:14:39+00:00 2
 nbro
nbro
Pertanyaan edit 19 Agustus 2017 в 12:51
Pemrograman
dart
dart-editor
Dennis Kaselow
Dennis Kaselow
1 November 2013 в 8:47
2013-11-01T08:47:08+00:00
Lebih
Sumber
Sunting
#22685749

seperti dan show adalah dua konsep yang berbeda.

Dengan seperti anda memberikan diimpor perpustakaan sebuah nama. It's biasanya dilakukan untuk mencegah perpustakaan dari polusi anda namespace jika memiliki banyak fungsi-fungsi global. Jika anda menggunakan sebagai anda dapat mengakses semua fungsi dan kelas kata perpustakaan dengan mengakses mereka dengan cara yang anda lakukan pada anda contoh: GoogleMap.LatLng.

Dengan tampilkan (dan sembunyikan), anda dapat memilih kelas khusus yang anda inginkan akan terlihat di aplikasi anda. Untuk contoh ini akan menjadi:

import 'package:google_maps/google_maps.dart' show LatLng;

Dengan ini, anda akan dapat mengakses LatLng tapi tidak ada yang lain dari perpustakaan itu. Kebalikan dari hal ini adalah:

import 'package:google_maps/google_maps.dart' hide LatLng;

Dengan ini, anda akan dapat mengakses segala sesuatu dari perpustakaan itu kecuali untuk LatLng.

Jika anda ingin menggunakan beberapa kelas dengan nama yang sama anda'd perlu menggunakan seperti. Anda juga dapat menggabungkan kedua pendekatan:

import 'package:google_maps/google_maps.dart' as GoogleMap show LatLng;
Alexandre Ardhuin
Alexandre Ardhuin
Jawaban edit 3 November 2013 в 8:17
80
0
Faris Nasution
Faris Nasution
2 November 2013 в 8:43
2013-11-02T08:43:53+00:00
Lebih
Sumber
Sunting
#22685750

show kasus:

impor 'dart:async' menunjukkan Aliran;

Dengan cara ini anda hanya impor Aliran kelas dart:async, jadi jika anda mencoba untuk menggunakan kelas lain dari dart:async lain dari Aliran itu akan melempar kesalahan.

void main() {
  List data = [1, 2, 3];
  Stream stream = new Stream.fromIterable(data); // doable
  StreamController controller = new StreamController(); // not doable
                                                        // because you only show Stream
}

sebagai kasus:

impor 'dart:async' sebagai async;

Dengan cara ini anda mengimpor semua kelas dari dart:async dan pustaka dengan async kata kunci.

void main() {
  async.StreamController controller = new async.StreamController(); // doable
  List data = [1, 2, 3];
  Stream stream = new Stream.fromIterable(data); // not doable
                                                 // because you namespaced it with 'async'
}

sebagai biasanya digunakan ketika ada konflik kelas di impor perpustakaan, misalnya jika anda memiliki sebuah perpustakaan 'my_library.dart' yang berisi sebuah class bernama Aliran dan anda juga ingin menggunakan Aliran kelas dart:async dan kemudian:

import 'dart:async';
import 'my_library.dart';

void main() {
  Stream stream = new Stream.fromIterable([1, 2]);
}

Dengan cara ini, kita don't tahu apakah Aliran ini adalah kelas dari async library atau perpustakaan anda sendiri. Kita harus menggunakan sebagai :

import 'dart:async';
import 'my_library.dart' as myLib;

void main() {
  Stream stream = new Stream.fromIterable([1, 2]); // from async
  myLib.Stream myCustomStream = new myLib.Stream(); // from your library
}

Untuk show, saya kira ini digunakan ketika kita tahu kita hanya perlu sebuah kelas tertentu. Juga dapat digunakan ketika ada konflik kelas di impor perpustakaan. Let's mengatakan di perpustakaan anda sendiri anda memiliki class bernama CustomStream dan Aliran dan anda juga ingin menggunakan dart:async, tetapi dalam kasus ini anda hanya perlu CustomStream dari perpustakaan anda sendiri.

import 'dart:async';
import 'my_library.dart';

void main() {
  Stream stream = new Stream.fromIterable([1, 2]); // not doable
                                                   // we don't know whether Stream 
                                                   // is from async lib ir your own
  CustomStream customStream = new CustomStream();// doable
}

Beberapa solusi:

import 'dart:async';
import 'my_library.dart' show CustomStream;

void main() {
  Stream stream = new Stream.fromIterable([1, 2]); // doable, since we only import Stream
                                                   // async lib
  CustomStream customStream = new CustomStream();// doable
}
Faris Nasution
Faris Nasution
Jawaban edit 2 November 2013 в 9:13
14
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Asilbek Qadamboyev
Terdaftar 2 hari yang lalu
2
Akshit Mehta
Terdaftar 4 hari yang lalu
3
me you
Terdaftar 1 minggu yang lalu
4
Никита иванов
Terdaftar 1 minggu yang lalu
5
Alex1976G_06
Terdaftar 1 minggu yang lalu
ID
KO
RU
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi