摘要:原文發表于以太坊智能合約開發第五篇字符串拼接上一篇,我們實現了一個簡單的智能合約。在文章最后拋出了一個問題如果我們事先在合約里定義好字符串,如何與變量進行字符串拼接在智能合約里進行字符串的拼接可不是一件簡單的事情。
原文發表于:以太坊智能合約開發第五篇:字符串拼接—Solidity
上一篇,我們實現了一個簡單的智能合約。用戶輸入什么字符串,合約就原樣返回什么。在文章最后拋出了一個問題:如果我們事先在合約里定義好 Hello 字符串,如何與 name 變量進行字符串拼接?
在智能合約里進行字符串的拼接可不是一件簡單的事情。本篇就來介紹智能合約里的字符串拼接。
嘗試我們先用絕大部分語言都通用的連接符 + 和 . 來嘗試著修改代碼:
//pragma關鍵字:版本申明。 //用來指示編譯器將代碼編譯成特定版本,以免引起兼容性問題 //此處不支持0.4.0之前的編譯器,也不支持0.5.0之后的編譯器(條件為 ^) pragma solidity ^0.4.0; //contract關鍵字:合約申明 //和Java、PHP中的class類似 //此處是申明一個名為Hello的合約 contract Hello { string str="Hello "; //public: 函數訪問屬性(后續文章為詳細闡述) //returns (string): 定義返回值類型為string function say(string name) public returns (string) { return str + name; } }
運行 node deploy.js 部署腳本后,拋出了一個異常:
TypeError: Operator + not compatible with types string storage ref and string memory
return str + name;
我們將其修改為 . 并嘗試部署后,也拋出一個異常:
TypeError: Member "name" not found or not visible after argument-dependent lookup in string storage ref return str . name;
說明在智能合約里,+ 和 . 都不是連接符。
通過查閱 Solidity 官方文檔,我們發現 Solidity 語言并不提供字符串連接符的語法:
那有沒有其他方式,可以實現字符串的拼接功能呢?
以下部分為付費用戶專享福利,請點擊鏈接跳轉至我的專欄付費購買。通過閱讀以下部分,你將學習到:
第三方字符串工具合約:字符串的擴展處理(查找、分割、比較、拼接等功能)
智能合約里第三方合約的引入
字符串的拼接實現
我的專欄:智能合約
智能合約開發QQ群:753778670
目前有幾套區塊鏈實踐的視頻課程(視頻+源碼),需要的可加我微信(kuangwenjie)私信我(付費):
『區塊鏈』從零構建以太坊(Ethereum)智能合約到項目實戰
基于Ethereum & IPFS的去中心化Ebay區塊鏈項目開發實戰
HyperLedger(超級賬本)Fabric
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24043.html
摘要:使用基于以太坊的智能合約的集成開發環境。以太坊教程,主要介紹智能合約與應用開發,適合入門。以太坊,主要是介紹使用進行智能合約開發交互,進行賬號創建交易轉賬代幣開發以及過濾器和事件等內容。 Solidity是一種以智能合約為導向的編程語言。這是一種只有四年的年輕語言,旨在幫助開發基于以太坊數字貨幣的智能合約。 理解它官方文檔應該是學習Solidity的最佳來源:solidity.read...
摘要:以太坊是什么以太坊是一個建立在區塊鏈技術之上,去中心化應用平臺。運行環境以太坊虛擬機是以太坊中智能合約的運行環境。是由以太坊客戶端提供的是典型的開發以太坊時使用的客戶端,基于語言開發。 本文首發于深入淺出區塊鏈社區原文鏈接:以太坊是什么 - 以太坊開發入門指南原文已更新,請讀者前往原文閱讀 很多同學已經躍躍欲試投入到區塊鏈開發隊伍當中來,可是又感覺無從下手,本文將基于以太坊平臺,以通俗...
摘要:在新智能合約的構造函數中,將引用我們的合約工廠的地址。以太坊,主要是針對工程師使用進行區塊鏈以太坊開發的詳解。以太坊入門教程,主要介紹智能合約與應用開發,適合入門。這里是原文用工廠模式管理多個智能合約 我們寫了一份小的計算合約作為Hello World。如果我們可以創建一個允許用戶創建自己的計數器的合約怎么辦? showImg(https://segmentfault.com/img/...
摘要:和比特幣協議有所不同的是,以太坊的設計十分靈活,極具適應性。超級賬本區塊鏈的商業應用超級賬本超級賬本是基金會下的眾多項目中的一個。證書頒發機構負責簽發撤 showImg(https://segmentfault.com/img/bV2ge9?w=900&h=385); 從比特幣開始 一個故事告訴你比特幣的原理及運作機制 這篇文章的定位會比較科普,盡量用類比的方法將比特幣的基本原理講出來...
摘要:原文發表于以太坊智能合約開發第一篇對語法的支持最近在研究以太坊智能合約的開發。是一種語法類似的高級語言,它被設計成以編譯的方式生成以太坊虛擬機代碼。 原文發表于:以太坊智能合約開發第一篇:IDE對solidity語法的支持 最近在研究以太坊智能合約的開發。隨著研究的深入,準備寫一個系列教程,將我的實際經驗與大家分享,供大家參考借鑒。 solidity是什么? 以太坊官方推薦使用Sol...
閱讀 1991·2023-04-26 01:41
閱讀 2468·2021-11-24 09:39
閱讀 1921·2021-11-24 09:38
閱讀 1946·2021-11-19 09:40
閱讀 3760·2021-11-11 11:02
閱讀 3293·2021-10-20 13:48
閱讀 3155·2021-10-14 09:43
閱讀 4359·2021-09-02 15:11