05월 03일 수요일
Solidity (special array)
- 문자형 변수 String으로 선언
상태변수에서 선언할 때
string b; // 문자형 변수 b선언
이렇게 선언해도 상관없지만
지역변수로 선언할 때에는 memory*(copy본)나 call(원본)(?)을 적어주었음function setB(string memory _b) public { b = _b; }
memory와 calldata 사용차이는 원본을 수정하느냐 아니면 원본만 가져와서 연산을 하느냐의 차이(?)로 이해했음
- bytes
bytes 또한 string과 마찬가지로 memory 또는 calldata를 지역변수 선언시 적어주어야 한다function setA(bytes memory _a) public{ a= _a; // 여기다가 16을 입력했을 때는 에러가 난다 왜인지는 잘 모르겠따 ㅜ function setA2() public { a= "16"; } //아스키 코드 1과 6 즉 1 = 31, 6= 36 0x3136 의 결과값이 나옴 function setA3(string memory _a) public{ a = bytes(_a); } //string을 바이트 형태로 저장하고 싶을 때 function getA() public view returns(bytes memory ) { return a; }
각종 팁 : 제곱을 표현하는 방법 a**2, ( a^2는 안됨, 다른 연산자임 )