본문 바로가기

오름캠프 flutter과정 정리

3일차 정리 깃과 다트기본문법관련

깃정리

origin은 깃허브즉 리모트 저장소 main의 별칭이다.

fork는 내 리모트 저장소인 깃허브로

이것을 내가 직접 내 로컬 컴퓨터에서 수정 반영하기위서는 clone을 해야 한다.

 

참고로 안드로이드 스튜디오에서 clone을 할 수 있다.

.gitignore 파일은 깃허브에서 관리하지 않겠다고 명시하는 파일이다.

참고로 fork받은 프로젝트에 대해서 pull request도 안드로이드 스튜디오에서 할 수 있음

 

 

 

Dart문법 정리

객체지향 및 함수형 프로그래밍을 지원함

 

주석은 / / 을 사용하여 쓴다.

문장의 끝에는 세미콜론을 붙인다.

 

기본자료형

int : 정수

double : 실수

String : 문자열

bool : 논리

num : 숫자 (정수와 실수 포함)

참고로 자료형이 다르게 대입은 안된다. to자료형()의 메소드를 활용하여 형변환해서 대입가능

문자열은 작은 따옴표

문자열 안에서 $ 활용하여 변수를 결합 가능 수식을 활용하기 위해서 {} 중괄호 활용

변수 선언시 var를 통해서 타입추론을 가능

final키워드를 통해서 상수 선언 가능 final만 사용해서

산술연산자

+더하기

,-빼기

,*곱하기

,/나누기 double타입 반환

,~/ 몫 int 타입 반환

,% 나머지 int 타입 반환

증감연산자

++ 1증가 연산

, - - 1감소 연산

함수에서 증감연산자를 사용시 파라미터로 변수 앞에 붙이면 숫자 증가값이 파라미터로 사용

변수뒤에 붙이면 함수에 기존값이 파라미터로 사용된후 증가 된다는 차이점 있음

다만 보기 힘드므로 연산후 변수의 함수의 파라미터로 넣는 것을 추천

비교연산자

,== 같다

,! = 다르다

,< 숫자비교

,> 숫자비교

,> = 숫자비교

,< = 숫자비교

논리연산자

&& and

,|| or

,== 같다

,! 부정

,! = 다르다

비교연산자와 논리연산자의 경우 if문안에서 활용

타입검사

is 같은 타입이면 true

is! 다른타입이면 true

true나 false가 결과로 나옴

형변환

as 명시적 형변환으로 사용하나 형변환하는 자료형이 포함관계일 경우 as생략 가능

as는 익숙하지 않으면 to자료형() 메소드를 사용하는 것이 좋습니다. 잘못 형변환 할 경우

런타임 에러의 오류의 가능성이 있기 때문에 그렇습니다.

컴파일 : 주어진 언어로 작성된 컴퓨터 프로그램을 컴퓨터가 이해하기 쉽도록 변환 되는 것

              쉽게이야기 하면 번역작업 

               컴파일 에러란 번역작업 도중 오류가 발생한것을 말함

런타임: 실제 실행되는 경우, 런타임 오류란 실제 프로그램이 실행될때 발생하는 오류

 

final vs const

둘다 상수이나 값이 할당되는 시점이 const 컴파일 시점이고 final런타임 시점이다.

플러터 가면 차이점은 const는 값이 있는 경우 재활용해서 메모리의 사용이 더 늘어나지 않는 장점이 있다.

함수는 매개 변수가 없는 경우도 있고 반환형이 없는 경우 void를 작성해준다.

if문은 다른언어(자바)와 형태가 같다.

삼항연산

변수 = 조건문? 조건문이 true일 경우 변수에 대입: 조건문이 false일 경우 변수에 대입

참고로 안드로이드 스튜디오에서 alt + 엔터한다면 코드를 좀 더 보기 좋게 합니다.

컴파일 언어 vs 인터프리터 언어

compiler가 기계어로 번역하는 과정에서 실행파일이 생기고 미리 기계어로 번역

인터프리터 언어의 경우

실행시점에서 번역되어 실행

switch case도 자바와 비슷 if문과 역활은 비슷하나 다양한 값으로 분기해야 될 경우 사용

열거형과 함께 사용시 모든케이스 검사 강제성이 생김

dart 콘솔에 키보드 입력

import ‘dart:io’

임포트 받고

stdin.readLineSync()!;

로 입력을 받는다. 입력은 문자열(String)로 받는다.

예시 코드

import 'dart:io';

void main() {

        print("Enter your name?"); String name = stdin.readLineSync()!;

        // Printing the name print("Hello, $name! \nWelcome to GeeksforGeeks!!");

}

 

for문

자바와 같음

 

for(변수초기화;조건;변수조작){

실행문

}

 

조건부분 아무것도 작성되지 않는 경우 true 로 됨

for( 변수 in 반복할 List){

실행문

}

 

위의 반복문은 인덱스 사용하지 않을 경우 사용

매개변수 vs 인자

인자 : 함수를 호출할때 들어가는 실제 값

매개변수 : 함수에 규정되는 인자를 통해 들어오는 값이 담기는 변수

 

named parameter

void something({Sting name =’’ , int age=0})

named parameter는 위에서 처럼 중괄호 {}안에 들어간것을 말하며 초기값 설정해주어야 하며

함수 호출시 에

something(name: ’홍길동’, age:10 )

위의 예시처럼 파라미터의 이름을 명시하며 인자로 넘겨야 한다.

또한 네임드 파라미터는 선택적으로 들어갈수 있으며 필수적으로 들어가야 하는 파라미터의 경우는 함수 정의시에 네임드 파라미터 보다 순서적으로 앞서야 한다.

함수를 호출할때도 네임드 파라미터는 뒤에 작성해주어야 한다.

 

 

참고로 문자열안에서 큰따옴표””나 작은따음표’’그리고 공백과 줄바꿈을

모두 표현하고 싶을때 “”” 문자열 “””로 문자열을 표현한다.