变量

可见性

状态变量可见性

public

对于public状态变量会自动生成一个gettter函数。 以便其他的合约读取他们的值。 当在用一个合约里使用是,外部方式访问 (如: this.x) 会调用getter 函数,而内部方式访问 (如: x) 会直接从存储中获取值。 Setter函数则不会被生成,所以其他合约不能直接修改其值。

internal

内部可见性变量仅在合约内或者其派生合约内可见,不能被外部访问,这是状态变量的默认可见性。

private

私有变量仅在当前合约内可见,派生合约内不可见。

external

外部函数只能由其他合约调用,或者通过交易调用。外部函数f不能被内部函数调用

字面量

地址字面量

数值字面量

字符串字面量

十六进制字面量

变量分类

// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.7.0;
contract HelloWorldContract {
    address owner; // 状态变量
    function helloWorld() external pure returns(string memory){
        string memory  greeting ="hello world"; // 局部变量
        return greeting;
    }
}

Last updated