05.03

조하빈 ·2023년 5월 3일
0

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는 안됨, 다른 연산자임 )

profile
PPisland

0개의 댓글