반응형

꾸준히 글쓰기를 목적으로 하고 있어서 오늘은 

Dart읙 기본 문법에 대하여 알아 보겠습니다. 

일단, 우선 추력 문입니다. 

보통 새로운 언어를 가지고 코드를 작성하면 Hello World! 안녕 세계야  를 출력하는 프로그램을 많이 작성 합니다. 

Java의 경우 System.out.println() 이라는 함수를 많이 사용합니다. 

package com.tistory.talkit.TestProject;

public class App 
{
    public static void main( String[] args )
    {
        
    	
    	System.out.println("Hello talkit World");
    	
    	
    }
}

 

위와 같은 코드를 작성하지요 제일 처음에 작성 합니다. 

Dart 도 우선 뭘하려면 출력문 부터 배워야 합니다. 

 

void main() {
  print('Hello, talkit World!');
}

 

Dart 도 위와 같이 가능 합니다. 

우선 기본적으로 print((객체.toString())

요렇게 쓰길 수 있습니다. String 객체 일 경우 toString는 생략할 수 있습니다. 

기본적으로 단일 객체를 사용할 경우에도 생략 가능 합니다. 

하지만, String 객체와 다른 객체를 혼용해서 사용할 경우는 무조건 toString() 으로 캐스팅을 해주어야 합니다. 

void main() {
  print('Hello, talkit World!');
  
  print(1);
  
  print('print number : ' + 1); // 여기는 문법적으로 오류 입니다. 
  
  print('print number : ' + 1.toString()); 
  
  print([1,2,3,4,5,6,7]);
  
  print('print array : ' + [1,2,3,4,5,6,7]); // 여기는 문법적으로 오류 입니다. 
  
  print('print array : ' + [1,2,3,4,5,6,7].toString());  
  
}

 

위 코드는 실제로 해보시면 오류가 날 것입니다. ^^

저기 오류라는 부분을 삭제하시거나 주석 처리를 하시면 

사용 가능 합니다. 

오늘도 즐거운 하루 되십시오.

감사합니다. 

반응형
반응형
import 'dart:io';

main() {
  sleep(const Duration(seconds:1));
}

sleep 보통 자바에서

Thread.sleep(밀리초);

이렇게 많이 썼었는데

Flutter에서는 위와 같이 사용해야 한답니다. 

초/second로 쓰고 싶으면 seconds

밀리초/milisecond로 사요하고 싶으면 miliseconds 를 사용하면 됩니다. 

 

참 sleep은 프로그램에서 잠깐 멈추고 다음 명령어를 실행해야 할때 사용 합니다. 

유용한 용도는 사이트에서 접근 거부를 시킬대, 너무 빠르게 하면 접근 거부가 될 수 있는데 

약 500 밀리초 정도 sleep으로 딜레이를 주면 해결이 되기도 합니다. 

저것도 안되면 1000 밀리초 즉 1초 정도 줘야합니다. 

그리고, 정책상 3시간뒤에 풀어 주는 경우도 있고 다양한 경우가 있으므로 

미리 사이트에 접근해서 뭔가를 하실때는 sleep으로 약간의 딜레이를 주시는 것이 좋습니다. 

오늘도 즐거운 하루 되십시오.

감사합니다. 

 

 

반응형
반응형

지난 번에 글에도 썼지만요 요즘 모바일 관련해서 Flutter를 이용해서 작업을 하고 있습니다. 

javascript에서는 timer.sotp 하면 되는데 

Dart에서는 어떻게 해야 하나를 검색을 했습니다. 

오 역시 Stackoverflow 입니다. 

var timer = startTimeout(100);
...
timer.cancel();

답변을 보면 위와 같이 되어 있습니다. 

저는 Timer 시작 코드를 아래오와 같이 작성 했습니다. 

 _timer =
        new Timer.periodic(const Duration(milliseconds: 100), fetchWindFlow);

 

_timer 를 이용해서 중단 시키기 위해서 저는 

timer.stop();

위 코드를 넣어 봤습니다. 

T.T 함수가 없다고 오류 납니다. 

그래서 찾아서 출처에 있는 코드로 변경 하였습니다. 

print('timer cancel : ' + new DateTime.now().toIso8601String());
_timer.cancel();

 

_timer 변수는 전역으로 Class 내에 선언해 주었습니다. 

그리고 하나는 stop 시키는 코드에 하나는 start 시키는 코드에 넣었습니다. 

print 문은 제가 그냥 알아 보려고 넣어 둔 것이고 나중에는 주석 처리를 해야 하니다. ^^

오늘도 즐거운 하루 되십시오.

감사합니다. 

 

출처 : 

stackoverflow.com/questions/51559508/stop-how-to-stop-the-timer-in-flutter/51559536#51559536

반응형
반응형

Dart에서 var로 정의 되어 있어서 값의 정이가 애매모호한 경우

제가 변환하고 있는 javascript에서 isFinite(value) 를 Dart에서는 어떻게 사용할 수 있는지에 대한 글입니다. 

 

double.parse(value.toString()).isFinite

위와 같이 사용하면 됩니다. 

double 이나 int 즉 number형 변수에 isFinite 가 속성으로 존재 합니다. 

return 값은 bool 입니다. 즉 true/false 를 리컨 하고 있습니다. ^^

출처 : api.flutter.dev/flutter/dart-core/num/isFinite.html

 

isFinite property - num class - dart:core library - Dart API

True if the number is finite; otherwise, false. The only non-finite numbers are NaN, positive infinity, and negative infinity.

api.flutter.dev

 

반응형
반응형

지난 번 글에 이어서 원래 변환할 프로그램에서 16진수를 10진수로 변환하는 프로그램이 필요 했습니다. 

T.T 그래서 찾아 봤습니다. 

void main() {
  final fullString = '001479B70054DB6E001475B3';

  for (int i = 0; i <= fullString.length - 8; i += 8) {
    final hex = fullString.substring(i, i + 8);

    final number = int.parse(hex, radix: 16);
    print(number);
  }
}

위와 같이 사용 가능하다고 하네요 

int.parse(hex, radix: 16)

위가 중요합니다. 

int.parse 라는 함수에 hex는 16진수 string 값을 넣으시면 됩니다. 

그리고, radix 값에 16을 주면 됩니다. 

알고 나니 참쉬운데 말이죠.

개발이 좀 편해지시기를 바라면서.

출처 : stackoverflow.com/questions/57675661/convert-an-arbitrarily-long-hexadecimal-string-to-a-number-in-dart

반응형
반응형
더보기

import 'dart:math';

main() {

     var rng = new Random();

     for (var i = 0; i < 10; i++) {

     print(rng.nextInt(100));

    }

}

요즘 Flutter로 작업을 하고 있는 이놈의 Dart 새롭다. ^^

Dart에서 임의수를 가져오려면 Random 클래스를 사용하면 된다고 하네요

위와 같이 하면 임의수를 출력해 줍니다.

변수에 담으면 또 사용가능하겠죠 ^^

 

 

출처 : stackoverflow.com/questions/11674820/how-do-i-generate-random-numbers-in-dart

반응형

+ Recent posts