Итак, я рассматриваю этот шаблон Solidity, в котором вы определяете пользовательскую библиотеку GoonLib с функцией add для обработки операций uint256. Затем вы создаете пользовательский тип NumberoGoono (, по сути обертку для uint256) и подключаете к нему библиотеку с помощью ключевого слова 'using'.
Дело в том, что вы инициализируете внутреннюю переменную состояния _number значением 1, затем вызываете _number.add(5) для выполнения функции библиотеки. Это чистый способ расширения функциональности типа без раздувания основной логики контракта.
Но честно — зачем структурировать это так? Я имею в виду, что такой паттерн подходит для сложных операций, где нужно сохранять модульность. Если вы делаете пакетные арифметические операции или сложные математические вычисления, привязка библиотек к пользовательским типам помогает держать код организованным. А для простых сложений? Кажется, излишне. Всё зависит от того, что именно вы строите.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
16 Лайков
Награда
16
5
Репост
Поделиться
комментарий
0/400
NoStopLossNut
· 8ч назад
Этот режим привязки библиотечных функций выглядит немного как «модульность ради модульности»... действительно ли для простого сложения нужно так усложнять?
Посмотреть ОригиналОтветить0
WhaleInTraining
· 8ч назад
Этот NumberoGoono действительно очень слабый, зачем усложнять простое сложение?
Посмотреть ОригиналОтветить0
UncommonNPC
· 8ч назад
ngl这种 using library 的骚操作在大项目里确实爽,但小合约真的没必要这么整
Посмотреть ОригиналОтветить0
StakeHouseDirector
· 8ч назад
ngl этот режим я давно уже надоел, простое сложение действительно не стоит так заморачиваться
Посмотреть ОригиналОтветить0
GasFeeCrier
· 8ч назад
Парень, это название немного забавное — NumberoGoono... Кажется, это название какого-то мем-монеты. Но библиотека using действительно сделана очень аккуратно.
Итак, я рассматриваю этот шаблон Solidity, в котором вы определяете пользовательскую библиотеку GoonLib с функцией add для обработки операций uint256. Затем вы создаете пользовательский тип NumberoGoono (, по сути обертку для uint256) и подключаете к нему библиотеку с помощью ключевого слова 'using'.
Дело в том, что вы инициализируете внутреннюю переменную состояния _number значением 1, затем вызываете _number.add(5) для выполнения функции библиотеки. Это чистый способ расширения функциональности типа без раздувания основной логики контракта.
Но честно — зачем структурировать это так? Я имею в виду, что такой паттерн подходит для сложных операций, где нужно сохранять модульность. Если вы делаете пакетные арифметические операции или сложные математические вычисления, привязка библиотек к пользовательским типам помогает держать код организованным. А для простых сложений? Кажется, излишне. Всё зависит от того, что именно вы строите.