Last active
October 19, 2021 05:15
-
-
Save t-cool/118ec6e177587755644788fc614fafc7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:math'; | |
void main() { | |
print('--データ型--'); | |
num n1 = pow(2, 63); | |
int n2 = 2; | |
double n3 = 1.23; | |
bool b1 = true; | |
String s1 = "string"; | |
List l1 = [1,2,3]; | |
Map m1 = {"key": "value"}; | |
print("$n1, $n2, $n3, $b1, $s1, ${l1[2]}, $m1"); | |
// ${l1[2]} を $l1[2] とはできない | |
print('\n--関数定義--'); | |
String hello(String name){ | |
return "Hello $name"; | |
} | |
print( | |
hello("Hiroki") | |
); | |
// => Hello Hiroki | |
print('\n--配列--'); | |
// 配列 | |
var names = ["Hiroki", "Goro", "Hanako"]; | |
print(names.length); // 3 | |
print(names.first); // Hiroki | |
print(names.last); // Hanako | |
print(names.reversed); // (Hanako, Goro, Hiroki) | |
print(names.hashCode); // 3213526 | |
print(names.map((name)=>"Hey $name")); // (Hey Hiroki, Hey Goro, Hey Hanako) | |
print(names.reduce((a,b)=>"$a & $b")); // Hiroki & Goro & Hanako | |
print(names); // [Hiroki, Goro, Hanako] | |
// スプレッド | |
var arr1 = [1,2,3]; | |
var arr2 = [4,5,6]; | |
print([...arr1,...arr2]); | |
print('\n--集合--'); | |
var memberA = {"Hiroki", "Goro", "Taro", "Hanako"}; | |
var memberB = {"Hiroki", "Jiro", "Taro", "Hanayo"}; | |
memberA.add("Kanako"); | |
print(memberA.difference(memberB)); // {Goro, Hanako, Kanako} | |
print(memberB.difference(memberA)); // {Jiro, Hanayo} | |
print(memberA.intersection(memberB)); // {Hiroki, Taro} | |
print('\n--Map--'); | |
var students = [ | |
{"id":1, "name": "Hiroki"}, | |
{"id":2, "name": "Goro"}, | |
{"id":3, "name": "Kayo"}, | |
]; | |
print(students[0]["name"]); // Hiroki | |
// where クエリ | |
print(students.where((student)=>student["name"]=="Goro")); // ({id: 2, name: Goro}); | |
print('\n--クラス--'); | |
var kclass = Klass("Hiroki"); | |
print(kclass.sayHello()); | |
print('\n--シングルトン--'); | |
var store1 = SingletonStore(); | |
store1.set('name', 'Dart Taro'); | |
store1.set('age', 30); | |
print(store1.get('name')); | |
print(store1.get('age')); | |
print('---'); | |
// もしインスタンスを2つ作成したとしても、実体は一つ。 | |
var store2 = SingletonStore(); | |
print(store2.get('name')); | |
print(store2.get('age')); | |
} | |
class Klass{ | |
final id = 1986; | |
String name = "Bob"; | |
// コンストラクタ | |
Klass(this.name); // this.name = name の意味 | |
String sayHello(){ | |
// インスタンス変数の評価は $ を使う必要あり。 | |
return "Hello, $name"; // this.name の意味 | |
} | |
} | |
class SingletonStore { | |
static final Map<String, dynamic> _items = <String, dynamic>{}; | |
static final SingletonStore _cache = SingletonStore._internal(); | |
SingletonStore._internal(); | |
// コンストラクタに factory をつける | |
factory SingletonStore() { | |
return _cache; | |
} | |
set(String key, dynamic data) => _items[key] = data; | |
get(String key) => _items[key]; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment