스택스/클래리티

[클래리티] 4. 변수와 상수1

라이튼 2024. 7. 5. 16:38

이전글

 

[클래리티] 3. 클래리티 기본 규칙

이전글 [클래리티] 2. 히로 플랫폼(Hiro Platform)히로 플랫폼(Hiro Platform)  히로 플랫폼은 스택스 스마트 컨트랙트 개발을 돕기 위해 제작된 웹 기반 개발환경입니다. 히로 플랫폼에 접속하여 로

kwjdnjs.tistory.com

 

변수와 상수1

 이번 글에서는 클래리티의 기본적인 변수와 상수에 대해 알아보겠습니다.

 

1. 기본 자료형

 먼저 클래리티의 기본 자료형에 대해 알아보겠습니다.

 

  • int: 일반 정수형
  • uint: unsigned 정수형, 사용할 때에는 u12처럼 숫자 앞에 u를 붙여야 합니다. int와 uint는 함께 연산할 수 없습니다.
  • bool: 불 타입 (true or false)
  • principal: 클래리티에만 존재하는 특수한 자료형으로, 스택스 주소를 저장하기 위한 자료형입니다. 작은따옴표( ' )로 시작하면 해당 데이터를 principal로 인식하게 됩니다. 예를 들어, 'ST1HTBVD3JG9C05J7HBJTHGR0GGW7KXW28M5JS8QE 처럼 사용하면 됩니다.

 

2. 변수

 이제 변수를 선언하는 방법에 대해 알아보겠습니다.

 

 변수를 선언할 때에는 다음과 같이 'define-data-var'을 먼저 작성한 뒤, 변수명자료형, 할당할 초기값을 작성해주면 됩니다.

 

(define-data-var my-number uint u0)

 

 변수의 값을 가져올 때에는 'var-get'을, 변수에 값을 할당할 때에는 'var-set'을 사용하면 됩니다.

 

(var-set my-number u5000)

(print (var-get my-number))

 

3. 상수

 

 상수를 선언하는 경우에는 변수를 선언할 때의 'define-data-var' 대신 'define-constant'를 사용합니다. 상수의 경우 자료형을 생략하고 사용합니다.

 

(define-constant my-constant 'ST1HTBVD3JG9C05J7HBJTHGR0GGW7KXW28M5JS8QE)

(define-constant my-constant u34)

 상수의 값을 받아오는 경우에는 변수와는 다르게 상수의 이름만 작성하면 됩니다.

 

(print my-constant)

 

 지금까지 클래리티의 기본적인 변수와 상수의 선언방법에 대해 알아봤습니다. 감사합니다.

 

 

다음글

 

[클래리티] 5. 변수와 상수2

이전글 [클래리티] 4. 변수와 상수1이전글 [클래리티] 3. 클래리티 기본 규칙이전글 [클래리티] 2. 히로 플랫폼(Hiro Platform)히로 플랫폼(Hiro Platform)  히로 플랫폼은 스택스 스마트 컨트랙트 개

kwjdnjs.tistory.com