solidity入门 基础智能合约编写 public view 函数返回基础

constructor()

构造函数---合约部署时自动调用一次,用于初始化状态变量的值

public

使修饰的函数公开 为公共可调用的函数 与其对立的有 internal关键字

internal

使函数只能合约内部访问

函数结构

  function 函数名(参数) public等 {

    函数体、返回值

  }

function getNumber() public view returns(uint) {
   return number;

返回值可以有多个 

function getNumber() public view returns(uint,uint) {
    return (number,10);

returns后面的数量要和return后括号内的参数数量一致,否则会报错

view

修饰的函数不会修改状态变量(不消耗gas)

  view 关键字  使函数 可读可浏览  但无法修改

获取调用合约函数的外部账户地址msg.sender

  function getSenderAddress() public view returns(address) {
    return msg.sender;
  }
pragma solidity ^ 0.4.25;

contract GlobalVariable{
  //定义变量
  uint number;//未赋值时值为0

  address owner;//部署合约的账户地址

//构造函数---合约部署时自动调用一次,用于初始化状态变量的值
  constructor() public {
      number = 20;
      
  }



  //定义函数(修改状态变量  不需要返回值)
  function setNumber(uint _num) public {
    number = _num;
  }
  //_num可以专门用下划线开头作变量名  区分外部自定变量和函数内变量

  
  //public使函数可被外界访问   --- internal 使函数只能合约内部访问
  //view 修饰的函数不会修改状态变量(不消耗gas)
  //view 关键字  使函数 可读可浏览  但无法修改
  //returns 返回关键字 s指可以返回多个
  // function getNumber() public view returns(uint) {
  //   return number;
  function getNumber() public view returns(uint,uint) {
    return (number,10);//函数返回值  (有多个返回值用括号和逗号隔开)
    //这里如果只在returns(uint,uint)中俩个参数  会报错如下
    //Different number of arguments in return statement than in returnsdeclaration.声明个数和返回数量不一致
    
  }
  //获取调用合约函数的外部账户地址
  function getSenderAddress() public view returns(address) {
    return msg.sender;
  }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值