dart:math

dart:math

Dart의 dart:math 라이브러리가 제공하는 주요 기능을 소개해 드릴게요. 사인(sine)과 코사인(cosine), 최대값·최소값 계산, pie 같은 상수까지, 수학에서 자주 쓰는 것들을 이 라이브러리에서 찾을 수 있어요.

출처: dart:math

본문

dart:math 라이브러리(API 레퍼런스)는 사인·코사인 같은 삼각 함수, 최대값·최소값, 그리고 pie 같은 상수 등 흔히 쓰는 기능을 제공해요. Math 라이브러리의 대부분 기능은 최상위 함수(top-level function)로 구현되어 있어요.

앱에서 이 라이브러리를 쓰려면 dart:math를 import 하세요.

import 'dart:math';

삼각 함수 (Trigonometry)

Math 라이브러리는 기본적인 삼각 함수를 제공해요.

// Cosine
assert(cos(pi) == -1.0);

// Sine
var degrees = 30;
var radians = degrees * (pi / 180);
// radians is now 0.52359.
var sinOf30degrees = sin(radians);
// sin 30° = 0.5
assert((sinOf30degrees - 0.5).abs() < 0.01);

참고: 이 함수들은 도(degrees)가 아니라 라디안(radians)을 사용해요!

최대값과 최소값 (Maximum and minimum)

Math 라이브러리는 max()min() 메서드를 제공해요.

assert(max(1, 1000) == 1000);
assert(min(1, -1000) == -1000);

수학 상수 (Math constants)

Math 라이브러리에서 pi, e 등 여러분이 좋아하는 상수들을 찾아보세요.

// See the Math library for additional constants.
print(e); // 2.718281828459045
print(pi); // 3.141592653589793
print(sqrt2); // 1.4142135623730951

난수 생성 (Random numbers)

Random 클래스로 난수를 생성할 수 있어요. Random 생성자에 시드(seed)를 선택적으로 넘길 수도 있어요.

var random = Random();
random.nextDouble(); // Between 0.0 and 1.0: [0, 1)
random.nextInt(10); // Between 0 and 9.

불리언(boolean) 난수도 생성할 수 있어요.

var random = Random();
random.nextBool(); // true or false

경고: Random의 기본 구현은 암호화(cryptographic) 목적에는 부적합한 의사 난수 비트(pseudorandom bits) 흐름을 생성해요. 암호학적으로 안전한 난수 생성기가 필요하다면 Random.secure() 생성자를 사용하세요.

더 알아보기