728x90
반응형
728x90
반응형
Return Values리턴값: 함수 호출 이후 함수의 실행 결과를 외부나 내부에서 활용할 때 사용string greeting = "What's up dog";function sayHello() public returns (string) { return greeting;}Solidity에서 함수 선언할 때는 반환값 타입 명시 (위 함수에서는 string)Function modifiersview 함수function sayHello() public view returns (string memory) { return "Hello, Solidity!";}상태를 변경하지 않고 데이터를 읽기만 하는 함수에 사용블록체인 데이터(상태 변수)에 접근 가능pure 함수function _multiply(uint a,..
Private / Public 함수Solidity에서 함수는 기본적으로 public으로 선언외부에서 호출할 함수만 public으로 선언 권장uint[] numbers;function _addToArray(uint _number) private { numbers.push(_number);}함수명 뒤에 private 키워드 작성private 함수명은 인자와 마찬가지로 언더바(_)로 시작하는 것이 관례같은 컨트랙트 안에있는 함수들만 이 함수를 호출할 수 있음CryptoZombies 실습pragma solidity ^0.4.19;contract ZombieFactory { uint dnaDigits = 16; uint dnaModulus = 10 ** dnaDigits; struct Zombi..
Creating New Structsstruct Person { uint age; string name;}Person[] public people;Preson 구조체와 people 배열 선언// 새로운 사람을 생성한다:Person satoshi = Person(172, "Satoshi");// 이 사람을 배열에 추가한다:people.push(satoshi);배열 추가Preson 구조체를 사용하여 "satoshi" 사람 생성people 배열에 satoshi 추가 (push)people.push(Person(16, "Vitalik"));위와 같이 한 줄로 구조체 사용과 배열 추가 가능Array Addition Example uint[] numbers;numbers.push(5);numbers.push(1..
Function Declarationsfunction eatHamburgers(string _name, uint _amount) {}string과 uint 2개의 인자를 전달받고 있는 eatHamburgers 함수함수 인자명언더스코어(_)로 시작해서 전역 변수와 구별 (관례)함수 호출eatHamburgers("vitalik", 100);CryptoZombies 실습pragma solidity ^0.4.19;contract ZombieFactory { uint dnaDigits = 16; uint dnaModulus = 10 ** dnaDigits; struct Zombie { string name; uint dna; } Zombie[] public zo..
ArraysSolidity에는 정적 배열과 동적 배열 존재// 2개의 원소를 담을 수 있는 고정 길이의 배열uint[2] fixedArray;// 또다른 고정 배열으로 5개의 스트링을 담을 수 있음string[5] stringArray;// 동적 배열은 고정된 크기가 없으며 계속 크기가 커질 수 있음uint[] dynamicArray; 정적 배열(Static Array)배열의 크기가 고정되어있고, 크기를 변경할 수 없음선언 시 배열 크키 명시주로 크기가 변하지 않는 데이터를 다룰 때 사용동적 배열(Dynamic Array)배열의 크기를 유연하게 변경할 수 있음요소를 추가하거나 제거 가능주로 크기가 유동적인 데이터를 다룰 때 사용구조체 배열Person[] people; // 동적 배열, 원소를 계속 추가할..
Structs복잡한 데이터를 하나의 타입으로 묶어 저장할 수 있는 데이터 타입struct Person { uint age; string name;} string: UTF-8 문자열 데이터를 저장하는 데 사용되는 자료형 (임의의 길이의 문자 데이터를 저장)CryptoZombies 실습pragma solidity ^0.4.19;contract ZombieFactory { uint dnaDigits = 16; uint dnaModulus = 10 ** dnaDigits; struct Zombie { string name; uint dna; }}