일반인의 Flutter 앱개발 3. Dart(Control flow, If, For, bool)
간다간다숑간다2022. 10. 4. 11:07
728x90
오늘은 Control flow에 대해서 살펴보자.
Control flow
Control flow
아 뭔가 벌써 복잡하다 색도 다양하고 문장도 길어진다. 하지만 우리는 앱 개발자를 할 것이기에 포기하지 말고 해내 보자! 코포자(코딩포기자)인 내가 이해했으면 당신도 당연히 할 수 있다!
Bool
보자보자 어디 보자. bool은 해당 함수를 true or false 값으로 리턴하는 놈이다. 뭘 하던 결과는 Yes or No로 간단히 나온다는 말이다.
함수 이름이 귀엽다 '이거 짝수인가?' 이런 느낌이다. int x를 입력받아서 짝수인지 아닌지 골라내는 함수를 만들고 싶은 거다.
IF
어려운 거 같은데 생각보다 쉽다. If 말 그대로 만일에~라고 해석하면 된다. 코딩에서 나누기는 '%'로 표시하고 값이 같은지 비교할 때는 '=='로 표시하는데 오늘 알아가면 된다. else는 써도 되고 안 써도 되는데 이 함수는 홀수일 경우 false를 리턴 하고 싶으니 else를 써줬다.
LIST
하아 이거 봐라. 뭔가 복잡하다. 코포자는 숨이 턱 막힌다. 하지만 하나하나 뜯어보며 뭔지 이해해내고 말리라. 개발자들은 코딩을 하며 궁금한 점이 있으면 문서를 찾아보더라고?
좌측에 코딩문을 적은 후 마우스 커서를 올려두면 해당 명령어 등에 대한 설명이 오른쪽 하단에 표시된다. 컴퓨터를 한국에서 개발했으면 코딩도 한글?로 했을 수 있을 거 같은데 아쉽게도 영어권 국가에서 개발했기에 개발자가 되려면 영어와 친숙해져야 한다. 궁금한 게 있어도 영어로 검색해서 찾는 걸 권장하고 문서도 영어로 보는 걸 권장한다. 처음에는 읽기 거북하지만 하다 보면 언젠가는 조금 빨라지겠지 ㅠㅠ
자 다시 돌아오면 List는 data 값들을 여러 개 집어넣는 거라고 1편에서 말했었다.
이제 위 예문을 뜯어보자 getEvenNumbers라는 함수를 만들건데 이놈은 int 숫자를 여러 개 집어넣는 list 인 것이다.
Iterable
아 이놈은 그냥 간단히 알고 넘어가고 자세한 내용은 다큐먼트를 참조하자. 나중에 필요하게 되면 다시 공부하도록 하고 지금은 지치지 않게 내용만 간단히 보고 가자. DartPad에 보면
A collection of values, or "elements", that can be accessed sequentially.
이라고 되어 있다. 값은 값인데 순차적으로 저장을 할 수 있는 list다. numbers라는 list를 getEvenNumbers라는 함수를 만들면서 선언해준 것이다. 이 정도로 알고 넘어가자.
다시 예문으로 돌아가 보면 결론적으로
라고 이해하면 되겠다.
evenNumbers라는 변수를 선언해줬다. 이 변수에는 int형태의 리스트를 담아줄 것이라는 이야기다. 리스트를 담을 때는 ' [ ] '를 써준다.
FOR
for는 바디에 있는 내용들을 순서대로 실행해주는데 이때 값들은 for() 안에 지정해준 값들을 차례대로 넣어주며 값을 뽑아낸다. 이해가 안 될 수 있으니 해당 예시문을 통해 살펴보자
여기서 잠깐? .add는 뭐지?
list 끝에 해당 값을 추가하는 기능
대망의 Main() 뜯어보기
Main은 두줄이라 좋아했는데 역시나 막히는 부분이 있다.
numbers라는 변수에 리스트 형태로 0~9(0 ~ n-1)까지의 번호를 넣겠다는 의미이다. generate의 기능 설명은 지금과는 맞지 않기에 이렇게 간단히 설명하고 도망 넘어간다. 절대 모르거나 어려워서는 아니라는 점을 알린다.
결론은?
여기서 0 이 짝수인지 아닌지에 대한 논쟁은 어울리지 않기에 넘어가기로 하자.
틀린 점이나 궁금한 점이 있으면 댓글로 알려달라.
입문자라 아무것도 모르고 이상한 소리를
썼을 가능성이 매우 매우 농후하다.
궁금한 점은 댓글로 토론하며 정답을 찾아보자.