“new”的语法解释Solidity 中合约的关键字
我试图理解 C c = new C();
的语法
我读了 new
关键字部署,初始化状态变量,运行构造函数,将随机数设置为 1,并返回新实例的地址。
我读到状态变量 a
有一个 0 元公共 getter 函数 a()
,它返回 a
的值。
问题:
- 合约的 getter 函数“是什么”?
- 为什么
new
作用于getter函数? - 在
C c = new C();
中,为什么我们需要第一个C
来定义变量?
I am trying to understand the syntax of C c = new C();
I read the new
keyword deploys, initializes state variables, runs the constructor, sets nonce to one, and returns address of new instance.
I read that a state variable a
has a 0-ary public getter function a()
that returns the value of a
.
Questions:
- What "is" the getter function of a contract?
- Why does
new
act on the getter function? - In
C c = new C();
why do we need the firstC
to define the variable?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过省略
来创建指向已部署合约的指针新的
关键字。请注意,该地址不是构造函数参数 - 它是外部合约的地址。Solidity是一种严格类型语言。所以第一个
C
定义了一个变量类型C
。You can create a pointer to an already deployed contract by omitting the
new
keyword. Mind that the address is not a constructor param - it's an address of the external contract.Solidity is a strictly typed language. So the first
C
defines a variable typeC
.