다음과 같이 입력해주시고 다시 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)를 다룰 수 없어, 솔리디티는 부동소수점을 지원하지 않습니다.
Solidity는 스마트 계약을 작성하기위한 객체 지향 프로그래밍 언어입니다. 다양한 블록 체인 플랫폼, 특히 이더 리움에서 스마트 계약을 구현하는 데 사용됩니다. 이전의 이더 리움 핵심 참여자들이 Ethereum과 같은 블록 체인 플랫폼에서 현명한 계약을 작성할 수 있도록 개발했습니다.