반응형

주요 자료형

  • uint : 부호가 없는 정수형
  • int : 정수형
  • bool : 논리 자료형
  • string : UTF-8 인코딩 문자열
  • bytes : 바이트
  • address : 이더리움 주소 값 (0xaDc7192A0…)

레퍼런스 자료형

  • 배열 : 자료형이 같은 데이터를 묶은 자료 구조입니다.
  • 구조체 : 다양한 자료형의 데이터를 묶은 자료 구조입니다.

 

예제 1번

 

다음과 같이 입력해주시고 다시 compile을 하고 run에서 create 버튼을 클릭합니다. 

 

pragma solidity ^0.4.24;
 
contract Simpleexample {
    
    string public name = "James";
    uint128 public birthday = 20180328;
   
    uint[] setOfYear = [2018, 2019, 2020];
    uint year = setOfYear[0];
    bool isHappy = true;
    
    function getYear() public view returns (uint) {
        
        return year;
    }
 
    function getHappy() public constant returns (bool) {
        return isHappy;
    }
    
    
}


public으로 선언된 값들 위처럼 확인하실수 있습니다. 

 

 

string public name = "James";
uint128 public birthday = 20180328;   
uint[] setOfYear = [2018, 2019, 2020];
uint year = setOfYear[0];
bool isHappy = true;

각각의 자료형에 맞는 변수를 선언하고 값을 대입합니다. public이라고 명시를 하는경우만 접근지정자가 public이 되는 것을 확인하실 수 있습니다. 

 

 

function getYear() public view returns (uint) {
        return year;
    }
function getHappy() public constant returns (bool) {
        return isHappy;
    }
함수의 선언방식입니다. 기존언어들과는 다르게 접근지정자를 뒤에 쓰는게 인상적입니다.  returns (자료형) 으로 반환할 자료형을 전달하는 형식이고 return에 반환할 값을 입력하는 형태입니다. 

 

그리고 주석은 c와 동일하게 줄주석은 // 구역주석은 /* */ 를 사용합니다. 

 

 

 

 

솔리디티의 연산자(Operator)

  • 논리 연산자: !, &&, ||
  • 비교 연산자 : <=, <, ==, !=, >=, >
  • 비트 연산자: &, |, ^, <<, >> (시프트 연산자)
  • 단항(unary) 산술 연산자: +, -
  • 이항(binary) 산술 연산자: +, -, *, / (몫), % (나머지), ** (거듭 제곱)

제어문(Control Structures)

  • 조건문: if, else, ? : (삼항 연산자)
  • 반복문: while, do, for
  • 반복문 분기: break, continue
  • 반환문: return

 

예제 2번

 

 

pragma solidity ^0.4.24;
 
contract Simpleexample {
    
    uint t1 = 0;
    bool t2 = false;

    function playground() public returns (uint, bool) { // multi return type

        for (uint i = 0; i < 10; i++) {
            t1++;
        }

        t2 = 2 ** 3  == 8 &&t1 == 10;
        

      
        return (t1, t2);
    }

   
}


 

 

결과는 직접확인해보세요!

 

: 솔리디티가 부동소수점을 지원하지 않는 이유

부동소수점 타입으로는 수를 정확하게 표현하지 못합니다.
수를 정확히 다룰 수 없는 타입은 이더(Ether)를 다룰 수 없어, 솔리디티는 부동소수점을 지원하지 않습니다.

반응형

'Blockchain 개발 > Solidity 프로그래밍' 카테고리의 다른 글

Solidity Event란?  (0) 2020.02.09
Solidity 이더리움 송금하기  (0) 2020.02.09
Solidity 실행하기  (0) 2020.02.08

+ Recent posts