成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

以太坊智能合約開發(fā)第五篇:字符串拼接—Solidity

cangck_X / 2610人閱讀

摘要:原文發(fā)表于以太坊智能合約開發(fā)第五篇字符串拼接上一篇,我們實(shí)現(xiàn)了一個簡單的智能合約。在文章最后拋出了一個問題如果我們事先在合約里定義好字符串,如何與變量進(jìn)行字符串拼接在智能合約里進(jìn)行字符串的拼接可不是一件簡單的事情。

原文發(fā)表于:以太坊智能合約開發(fā)第五篇:字符串拼接—Solidity

上一篇,我們實(shí)現(xiàn)了一個簡單的智能合約。用戶輸入什么字符串,合約就原樣返回什么。在文章最后拋出了一個問題:如果我們事先在合約里定義好 Hello 字符串,如何與 name 變量進(jìn)行字符串拼接?

在智能合約里進(jìn)行字符串的拼接可不是一件簡單的事情。本篇就來介紹智能合約里的字符串拼接。

嘗試

我們先用絕大部分語言都通用的連接符 +. 來嘗試著修改代碼:

//pragma關(guān)鍵字:版本申明。
//用來指示編譯器將代碼編譯成特定版本,以免引起兼容性問題
//此處不支持0.4.0之前的編譯器,也不支持0.5.0之后的編譯器(條件為 ^)
pragma solidity ^0.4.0;

//contract關(guān)鍵字:合約申明
//和Java、PHP中的class類似
//此處是申明一個名為Hello的合約
contract Hello {

    string str="Hello ";

    //public: 函數(shù)訪問屬性(后續(xù)文章為詳細(xì)闡述)
    //returns (string): 定義返回值類型為string
    function say(string name) public returns (string) {
        return str + name;
    }
}

運(yùn)行 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 官方文檔,我們發(fā)現(xiàn) Solidity 語言并不提供字符串連接符的語法:

那有沒有其他方式,可以實(shí)現(xiàn)字符串的拼接功能呢?

以下部分為付費(fèi)用戶專享福利,請點(diǎn)擊鏈接跳轉(zhuǎn)至我的專欄付費(fèi)購買。通過閱讀以下部分,你將學(xué)習(xí)到:

第三方字符串工具合約:字符串的擴(kuò)展處理(查找、分割、比較、拼接等功能)
智能合約里第三方合約的引入
字符串的拼接實(shí)現(xiàn)

我的專欄:智能合約
智能合約開發(fā)QQ群:753778670


目前有幾套區(qū)塊鏈實(shí)踐的視頻課程(視頻+源碼),需要的可加我微信(kuangwenjie)私信我(付費(fèi)):

『區(qū)塊鏈』從零構(gòu)建以太坊(Ethereum)智能合約到項(xiàng)目實(shí)戰(zhàn)

基于Ethereum & IPFS的去中心化Ebay區(qū)塊鏈項(xiàng)目開發(fā)實(shí)戰(zhàn)

HyperLedger(超級賬本)Fabric


文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/24043.html

相關(guān)文章

  • 2018以太智能合約編程語言solidity的最佳IDEs

    摘要:使用基于以太坊的智能合約的集成開發(fā)環(huán)境。以太坊教程,主要介紹智能合約與應(yīng)用開發(fā),適合入門。以太坊,主要是介紹使用進(jìn)行智能合約開發(fā)交互,進(jìn)行賬號創(chuàng)建交易轉(zhuǎn)賬代幣開發(fā)以及過濾器和事件等內(nèi)容。 Solidity是一種以智能合約為導(dǎo)向的編程語言。這是一種只有四年的年輕語言,旨在幫助開發(fā)基于以太坊數(shù)字貨幣的智能合約。 理解它官方文檔應(yīng)該是學(xué)習(xí)Solidity的最佳來源:solidity.read...

    darkerXi 評論0 收藏0
  • 以太是什么 - 以太開發(fā)入門指南

    摘要:以太坊是什么以太坊是一個建立在區(qū)塊鏈技術(shù)之上,去中心化應(yīng)用平臺。運(yùn)行環(huán)境以太坊虛擬機(jī)是以太坊中智能合約的運(yùn)行環(huán)境。是由以太坊客戶端提供的是典型的開發(fā)以太坊時使用的客戶端,基于語言開發(fā)。 本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接:以太坊是什么 - 以太坊開發(fā)入門指南原文已更新,請讀者前往原文閱讀 很多同學(xué)已經(jīng)躍躍欲試投入到區(qū)塊鏈開發(fā)隊伍當(dāng)中來,可是又感覺無從下手,本文將基于以太坊平臺,以通俗...

    tomlingtm 評論0 收藏0
  • 工廠模式管理多個以太solidity智能合約

    摘要:在新智能合約的構(gòu)造函數(shù)中,將引用我們的合約工廠的地址。以太坊,主要是針對工程師使用進(jìn)行區(qū)塊鏈以太坊開發(fā)的詳解。以太坊入門教程,主要介紹智能合約與應(yīng)用開發(fā),適合入門。這里是原文用工廠模式管理多個智能合約 我們寫了一份小的計算合約作為Hello World。如果我們可以創(chuàng)建一個允許用戶創(chuàng)建自己的計數(shù)器的合約怎么辦? showImg(https://segmentfault.com/img/...

    leone 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.41 - 深入學(xué)習(xí)區(qū)塊鏈

    摘要:和比特幣協(xié)議有所不同的是,以太坊的設(shè)計十分靈活,極具適應(yīng)性。超級賬本區(qū)塊鏈的商業(yè)應(yīng)用超級賬本超級賬本是基金會下的眾多項(xiàng)目中的一個。證書頒發(fā)機(jī)構(gòu)負(fù)責(zé)簽發(fā)撤 showImg(https://segmentfault.com/img/bV2ge9?w=900&h=385); 從比特幣開始 一個故事告訴你比特幣的原理及運(yùn)作機(jī)制 這篇文章的定位會比較科普,盡量用類比的方法將比特幣的基本原理講出來...

    qianfeng 評論0 收藏0
  • 以太智能合約開發(fā)第一篇:IDE對solidity語法的支持

    摘要:原文發(fā)表于以太坊智能合約開發(fā)第一篇對語法的支持最近在研究以太坊智能合約的開發(fā)。是一種語法類似的高級語言,它被設(shè)計成以編譯的方式生成以太坊虛擬機(jī)代碼。 原文發(fā)表于:以太坊智能合約開發(fā)第一篇:IDE對solidity語法的支持 最近在研究以太坊智能合約的開發(fā)。隨著研究的深入,準(zhǔn)備寫一個系列教程,將我的實(shí)際經(jīng)驗(yàn)與大家分享,供大家參考借鑒。 solidity是什么? 以太坊官方推薦使用Sol...

    xiangzhihong 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<