// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract DynamicString { string name = "zhangsan"; // 思考是否能直接返回string类型变量的长度。 function getLength() public view returns(uint) { return name.length; } // 思考能否直接获得string类型中的元素 function getPartName() public view returns(bytes1) { return name[0]; } }纠错
时间: 2023-06-03 11:01:42 浏览: 104
_SPDX-License-Identifier:MIT_pragma_Solidity_^0._0x8a47f3
对于第一个问题,可以直接返回string类型变量的长度,代码如下:
```
function getLength() public view returns(uint) {
return bytes(name).length;
}
```
对于第二个问题,不能直接获得string类型中的元素,需要先将string类型转换成bytes类型,再根据索引获得对应的元素,代码如下:
```
function getPartName() public view returns(bytes1) {
bytes memory nameBytes = bytes(name);
return nameBytes[0];
}
```
阅读全文