Skip to content

Latest commit

 

History

History
36 lines (31 loc) · 948 Bytes

File metadata and controls

36 lines (31 loc) · 948 Bytes

常数

我们通常会使用两个关键字 constant 以及 immutable

  • 只有数值变量才可以申明constant和immutable
  • string和btyes可以申明位constant,但是不能位immutable
  • 状态变量声明这两个关键字之后,不能在初始化后更改数值。这样做的好处是提升合约的安全性并节省gas。
  • immutable变量可以在声明时或构造函数中初始化,因此更加灵活

控制流

控制流包括

  • if-else
  • for
  • while
  • do while
  • 三元运算符

使用solidity实现插入排序

// 插入排序 正确版
function insertionSort(uint[] memory a) public pure returns(uint[] memory) {
    // note that uint can not take negative value
    for (uint i = 1;i < a.length;i++){
        uint temp = a[i];
        uint j=i;
        while( (j >= 1) && (temp < a[j-1])){
            a[j] = a[j-1];
            j--;
        }
        a[j] = temp;
    }
    return(a);
}