-
Bitcoin
$117200
0.06% -
Ethereum
$3741
0.32% -
XRP
$3.514
2.30% -
Tether USDt
$1.000
0.01% -
Solana
$199.1
10.85% -
BNB
$763.0
1.65% -
USDC
$0.0000
0.02% -
Dogecoin
$0.2696
1.42% -
Cardano
$0.8826
4.18% -
TRON
$0.3134
0.51% -
Hyperliquid
$44.19
-3.27% -
Stellar
$0.4697
1.16% -
Sui
$3.946
1.83% -
Chainlink
$19.36
0.86% -
Hedera
$0.2674
-1.19% -
Avalanche
$25.28
1.46% -
Bitcoin Cash
$518.5
-3.23% -
Shiba Inu
$0.00001528
0.61% -
Litecoin
$114.6
-1.40% -
UNUS SED LEO
$8.990
-0.05% -
Toncoin
$3.318
2.46% -
Polkadot
$4.443
0.35% -
Uniswap
$10.86
4.10% -
Ethena USDe
$1.001
0.01% -
Pepe
$0.00001409
2.37% -
Monero
$317.7
-1.85% -
Bitget Token
$4.833
-1.37% -
Dai
$0.0000
0.01% -
Aave
$319.2
-0.77% -
Bittensor
$448.0
8.78%
Was sind Ansichten und reine Funktionen in der Solidität?
In Soliditätsfunktionen lesen Sie Blockchain -Daten, ohne sie zu ändern, während reine Funktionen Berechnungen ausführen, ohne zugreifen zu können oder Statusvariablen zu ändern.
Jul 22, 2025 at 12:00 pm

Verständnis des Konzepts der Sichtfunktionen in der Solidität
Bei Solidität ist eine Ansichtsfunktion eine Art von Funktion, die verspricht, den Status der Blockchain nicht zu ändern. Diese Funktionen werden normalerweise verwendet, um Daten aus der Blockchain abzurufen, ohne Werte zu ändern. Wenn eine Funktion als Ansicht gekennzeichnet ist, stellt sie sicher, dass sie nur Daten liest und keine Vorgänge ausführt, die den Zustand ändern, z. B. das Schreiben in Variablen, Erstellen von Verträgen oder das Senden von Äther.
Eines der wichtigsten Merkmale der Sichtfunktionen ist, dass sie aufgerufen werden können, ohne Gasgebühren zu ergreifen. Dies liegt daran, dass sie den Zustand nicht ändern, und daher können sie lokal von einem Knoten ausgeführt werden, ohne dass eine Transaktion erforderlich ist. Entwickler verwenden häufig Ansichtsfunktionen , um externen Zugriff auf Vertragsdaten zu gewährleisten, z. B. Abfragestalden, Abruf von Zuordnungswerten oder die Rückgabe des aktuellen Status eines Vertrags.
Es ist wichtig zu beachten, dass der Solidity Compiler, wenn eine Ansichtsfunktion versucht, den Status zu ändern, einen Fehler wirft. Dies stellt sicher, dass Entwickler das beabsichtigte Verhalten dieser Funktionen einhalten und die Integrität der Blockchain aufrechterhalten.
Erforschung reiner Funktionen in der Solidität
Eine reine Funktion der Solidität ist noch restriktiver als eine Ansichtsfunktion . Eine reine Funktion vermeidet nicht nur das Ändern des Zustands, sondern vermeidet auch das Lesen aus dem Staat. Diese Funktionen werden verwendet, wenn der Ausgang ausschließlich von den Eingabeparametern abhängt und nicht auf gespeicherte Daten innerhalb des Vertrags beruht.
Wie Ansichtsfunktionen müssen reine Funktionen kein Gas erfordern, wenn sie extern aufgerufen werden, da sie nicht mit dem Blockchain -Status interagieren. Sie sind besonders nützlich, um Berechnungen oder Transformationen auf der Grundlage von Eingabeträgern wie Hashing, mathematischen Operationen oder String -Manipulationen durchzuführen.
Wenn eine reine Funktion versucht, aus dem Status zu lesen oder in den Zustand zu schreiben, erhöht der Compiler einen Fehler. Diese strenge Durchsetzung hilft, unbeabsichtigte Nebenwirkungen zu verhindern und stellt sicher, dass diese Funktionen deterministisch und vorhersehbar bleiben.
So deklarieren Sie Ansicht und reine Funktionen
Die Erklärung einer Ansicht oder reine Funktion in der Solidität ist unkompliziert. Beide Schlüsselwörter werden der Funktionsdefinition nach der Parameterliste, jedoch vor der Return -Anweisung, hinzugefügt. So können Sie sie deklarieren:
Für eine Ansichtsfunktion :
function getBalance(address account) public view returns (uint) {
return balances[account];
}
Für eine reine Funktion :
function add(uint a, uint b) public pure returns (uint) {
return a + b;
}
Im ersten Beispiel zeigt das Schlüsselwort der Ansicht an, dass die Funktion nur aus den staatlichen variablen balances
liest. Im zweiten Beispiel stellt das reine Schlüsselwort sicher, dass die Funktion keine Zustandsvariablen liest oder schreibt und nur eine Berechnung basierend auf den bereitgestellten Parametern durchführt.
Diese Modifikatoren sind für die Optimierung von Gasverbrauch und die Gewährleistung des richtigen Verhaltens von intelligenten Verträgen von wesentlicher Bedeutung.
Häufige Anwendungsfälle für Sicht und reine Funktionen
Ansichtsfunktionen werden häufig verwendet für:
- Abrufbalancen oder andere staatliche Variablen abrufen
- Rückgabevertragsmetadaten
- Erkenntnisse in den internen Zustand geben, ohne ihn zu ändern
Reine Funktionen werden typischerweise verwendet für:
- Mathematische Berechnungen durchführen
- Hashing- oder Codierungsdaten
- Validierung von Eingabeparametern ohne Zugriff auf den Vertragszustand
Durch die Verwendung dieser Funktionen angemessen können Entwickler sicherstellen, dass ihre Verträge effizient, vorhersehbar und vor unbeabsichtigten Änderungen sicher sind.
Best Practices bei der Verwendung von View und reinen Funktionen
- Markieren Sie immer Funktionen als Ansicht oder rein, wenn sie die Kriterien erfüllen. Dies hilft bei der Optimierung der Gaskosten und verbessert die Code -Lesbarkeit.
- Vermeiden Sie es, Ansichten oder reine Funktionen zu verwenden, wenn Sie Statusänderungen durchführen müssen. Dies führt zu einem Kompilierungsfehler.
- Verwenden Sie reine Funktionen für Versorgungsvorgänge, die sich nicht auf den Vertragszustand verlassen.
- Seien Sie vorsichtig, wenn Sie externe Anrufe in Sicht oder reinen Funktionen verwenden. Obwohl der Compiler dies zulässt, kann das Aufrufen von externen Verträgen unerwartete Verhaltens- oder Zustandsänderungen einführen.
Das Befolgen dieser Best Practices stellt sicher, dass Ihr intelligenter Vertrag für andere Entwickler sicher, effizient und leicht zu verstehen ist.
FAQ -Abschnitt
F: Kann eine Ansichtsfunktion eine reine Funktion aufrufen?
Ja, eine Ansichtsfunktion kann eine reine Funktion ohne Probleme aufrufen, da beide den Status nicht ändern.
F: Ist es möglich, eine Funktion zu haben, die sowohl Ansicht als auch rein ist?
Nein, eine Funktion kann nicht sowohl Ansicht als auch rein sein. Der reine Modifikator ist restriktiver und impliziert, dass die Funktion auch den Zustand nicht liest.
F: Was passiert, wenn ich versuche, den Status in einer reinen Funktion zu ändern?
Der Solidity Compiler wirft einen Fehler auf, wenn eine reine Funktion versucht, aus dem Zustand zu lesen oder in den Zustand zu schreiben.
F: Kosten Gas, wenn sie nach außen aufgerufen werden?
Nein, wenn Sie die Ansicht oder reine Funktionen extern anrufen, kostet das Blockchain -Status nicht Gas, da sie nicht ändern.
Haftungsausschluss:info@kdj.com
Die bereitgestellten Informationen stellen keine Handelsberatung dar. kdj.com übernimmt keine Verantwortung für Investitionen, die auf der Grundlage der in diesem Artikel bereitgestellten Informationen getätigt werden. Kryptowährungen sind sehr volatil und es wird dringend empfohlen, nach gründlicher Recherche mit Vorsicht zu investieren!
Wenn Sie glauben, dass der auf dieser Website verwendete Inhalt Ihr Urheberrecht verletzt, kontaktieren Sie uns bitte umgehend (info@kdj.com) und wir werden ihn umgehend löschen.
-
CCD
$0.01111
130.07%
-
STRK
$14
100.28%
-
DHN
$5.3
64.82%
-
SPK
$0.06465
53.33%
-
SHX
$0.01916
27.52%
-
HOME
$0.03296
26.45%
- Blockchainfx, Pepe und USDT: Was ist das Summen im Krypto -Dschungel?
- 2025-07-22 18:50:12
- RLUSD von Ripple: Institutionelle Backing treibt Stablecoin Ascent an
- 2025-07-22 18:30:12
- DogEcoin, AI -Münzen und die Zukunft von Crypto: Was ist der Hype?
- 2025-07-22 18:30:12
- Schwache Passwörter, Hacker und Unternehmensverletzungen: Der Weckruf eines Technologieexpertens
- 2025-07-22 18:50:12
- Jito Labs 'Bam auf Solana: Eine neue Ära für Defi oder nur Hype?
- 2025-07-22 18:55:13
- Pengu Memecoins Daily Surge: Reiten der pudgy Pinguine Welle
- 2025-07-22 19:00:13
Verwandtes Wissen

Wie öffne ich eine kurze Position bei Kraken?
Jul 22,2025 at 05:00pm
Verständnis von kurzen Positionen in der Kryptowährung Eine kurze Position ermöglicht es den Händlern, von einem Rückgang des Preisvermögens zu profit...

Warum füllt sich meine Bybit -Bestellung nicht?
Jul 22,2025 at 03:50pm
Auftragstypen auf Bitbit verstehen Wenn Ihre Bybit -Bestellung nicht füllt, besteht der erste Schritt darin, den von Ihnen ausgewählten Bestellentyp z...

Bybit Futures Tutorial für Anfänger
Jul 22,2025 at 04:49pm
Bybit -Futures verstehen: Was sind sie? Bybit -Futures sind Ableitungsverträge, die es Händlern ermöglichen, über den zukünftigen Preis von Kryptowähr...

Was ist Bybit -Futures -Handel?
Jul 22,2025 at 04:14pm
Bybit -Futures -Handel verstehen Bybit Futures Trading bezieht sich auf den Prozess des Kaufs und Verkaufs von Futures -Verträgen an der Bybit -Exchan...

Kann ich mich direkt aus meiner Coinbase -Futures -Brieftasche zurückziehen?
Jul 22,2025 at 02:14pm
Verständnis von Coinbase -Futures -Brieftaschen Coinbase bietet derzeit keine dedizierte Futures -Brieftasche in seiner Standard -Coinbase -App oder -...

Was ist der Versicherungsfonds für Coinbase -Futures?
Jul 22,2025 at 06:22pm
Verständnis des Versicherungsfondsmechanismus Der Versicherungsfonds für Coinbase -Futures dient als finanzieller Backstop, der Verluste für profitabl...

Wie öffne ich eine kurze Position bei Kraken?
Jul 22,2025 at 05:00pm
Verständnis von kurzen Positionen in der Kryptowährung Eine kurze Position ermöglicht es den Händlern, von einem Rückgang des Preisvermögens zu profit...

Warum füllt sich meine Bybit -Bestellung nicht?
Jul 22,2025 at 03:50pm
Auftragstypen auf Bitbit verstehen Wenn Ihre Bybit -Bestellung nicht füllt, besteht der erste Schritt darin, den von Ihnen ausgewählten Bestellentyp z...

Bybit Futures Tutorial für Anfänger
Jul 22,2025 at 04:49pm
Bybit -Futures verstehen: Was sind sie? Bybit -Futures sind Ableitungsverträge, die es Händlern ermöglichen, über den zukünftigen Preis von Kryptowähr...

Was ist Bybit -Futures -Handel?
Jul 22,2025 at 04:14pm
Bybit -Futures -Handel verstehen Bybit Futures Trading bezieht sich auf den Prozess des Kaufs und Verkaufs von Futures -Verträgen an der Bybit -Exchan...

Kann ich mich direkt aus meiner Coinbase -Futures -Brieftasche zurückziehen?
Jul 22,2025 at 02:14pm
Verständnis von Coinbase -Futures -Brieftaschen Coinbase bietet derzeit keine dedizierte Futures -Brieftasche in seiner Standard -Coinbase -App oder -...

Was ist der Versicherungsfonds für Coinbase -Futures?
Jul 22,2025 at 06:22pm
Verständnis des Versicherungsfondsmechanismus Der Versicherungsfonds für Coinbase -Futures dient als finanzieller Backstop, der Verluste für profitabl...
Alle Artikel ansehen
