Obtenir le nom de la plateforme pour chaque cible
Créez une fonction expect/actual classique pour Android et iOS.
Obtenir le nom de la plateforme pour chaque cible est une leçon Kotlin Multiplatform Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kotlin Multiplatform Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kotlin Multiplatform Academy comprend 4 leçons au total.
Le Hello World de KMP
Renvoyer le nom de la plateforme est le premier exemple classique d'expect/actual que vous écrivez. Cela prouve que votre module partagé s'exécute réellement dans les deux applications. 👋
Déclarez le expect
Commencez dans commonMain avec une fonction expect qui renvoie une chaîne de caractères. Pas encore de corps : seulement la forme sur laquelle les deux plateformes s'accordent.
expect fun platform(): StringL'actual Android
Dans androidMain, fournissez l'actual en utilisant la classe Build d'Android pour indiquer la version d'Android à l'exécution.
actual fun platform(): String =
"Android " + Build.VERSION.SDK_INTL'actual iOS
Dans iosMain, l'actual accède à UIKit d'Apple pour lire le nom et la version du système de l'appareil.
actual fun platform(): String =
UIDevice.currentDevice.systemNameLes signatures doivent correspondre
Les deux actual possèdent exactement le même nom, les mêmes paramètres et le même type de retour que le expect. Une seule différence suffit pour que le compilateur refuse la compilation.
Appelez-le depuis le code partagé
Désormais, toute fonction commune peut appeler librement platform(). Cela ressemble à du Kotlin normal, tandis que le bon actual s'exécute en dessous.
fun greeting() = "Hi from " + platform()Android voit sa valeur
Lorsque l'application Android appelle greeting(), le compilateur a lié le corps d'androidMain : elle affiche donc la chaîne Android.
iOS voit sa valeur
Le même appel depuis Swift renvoie cette fois la version iOS, car l'actual d'iosMain a été compilé dans ce cadre.
Les imports de plateforme restent locaux
Remarquez que Build et UIDevice sont importés uniquement dans leurs propres ensembles de sources. Le code partagé n'importe jamais directement un type de plateforme.
Une surface minuscule
Gardez le expect petit et ciblé. Une fonction qui renvoie un nom suffit pour faire le lien proprement avec chaque plateforme. ✨
Testez tôt
Exécutez les deux applications et affichez le résultat. Voir deux chaînes différentes confirme que votre liaison expect/actual fonctionne de bout en bout.
Vérification rapide
Réfléchissez à la manière dont la bonne valeur est choisie.
Récapitulatif
Vous avez créé la fonction classique platform() : un expect dans commonMain, un actual dans androidMain et iosMain, et des signatures correspondantes dans les trois ensembles. 🎉
Apprends Kotlin avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 30
- Leçons
- 120
Questions Fréquemment Posées
La leçon « Obtenir le nom de la plateforme pour chaque cible » est-elle gratuite ?
Oui — le texte complet de « Obtenir le nom de la plateforme pour chaque cible » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kotlin Multiplatform Academy, passe à CoddyKit PRO. Le cours Kotlin Multiplatform Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Obtenir le nom de la plateforme pour chaque cible » ?
Créez une fonction expect/actual classique pour Android et iOS. Tu pratiques Kotlin Multiplatform Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Kotlin Multiplatform Academy ?
Aucune expérience préalable n'est requise. Kotlin Multiplatform Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Obtenir le nom de la plateforme pour chaque cible » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Kotlin Multiplatform Academy ?
Oui. Chaque leçon Kotlin Multiplatform Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Pourquoi expect/actual existe
- Obtenir le nom de la plateforme pour chaque cible
- Classes et propriétés expect/actual
- Erreurs courantes et erreurs du compilateur