【Flutter/Dart】基本から実践的な変数の使い方

最終更新日

Flutter/Dartで変数を利用するにはどのようにすればよいか調べまとめました。

より実践的に活用するため、実際Flutterで使ってみたサンプルもご用意しております。

変数とは

Flutter/Dartで変数を使うには、

Point

型 変数名=”aaa”;

のようにして使います。 

php等とは違い宣言時、使用時ともに変数名の先端に特殊な記号は表記しません

例外として、文字列と変数を一緒に使う場合は$マークを使います。

また、変数のプロパティ、コンストラクタを使用する際は「${ }」を使います。

型の種類

かたには以下のような種類があり、文字列・整数・少数などといった代入する値に応じて型を変える必要があります。

int整数値
double実数
String文字列
boolean真偽値(true/false)
Listリスト型(同じ値を格納できる)
Setリスト型(同じ値を格納できない)
Map辞書型

変数の宣言

変数を宣言するには

型 変数名

て行うことができます。

例外としてdinamicvarのみ型宣言を行わなくても大丈夫です。

dinamicの使い方

void main(){
dynamic text;
text = "Hello Flutter";

print(text);}

上記のようにdynamicで宣言すれば、型を指定しなくても変数に値を代入できます。

varの使い方

void main(){
dynamic text;
text = "Hello Flutter";
//text=10;一度文字列型を代入しているのでエラーになる。
print(text);}

varで宣言した場合、変数の型は定義した値の型と同じになります。つまり、違う型の値を再代入してもエラーになります。

null safetyとは

void main(){
String text = null; //エラー
String? text = null; 
List<String?> text = ["Hello", null]; 

print(text);
}

上記の違いは、型の後に「?」が付いているかいないかです。

ついている場合はnull safetyとして扱われ値が入っていなくてもエラーになることはありません。

ついていない場合はNon-nullableとして扱われ値がない場合はエラーになります。

デフォルトはNon-nullableです。Flutter2.0以降で追加されました。

役割としては、変数定義の際にnullを代入するとエラーが発生するようになります。

nullを期待していない場所にnullが来てしまったときにエラーを起こすメリットがあります。

変数にnullを代入する場合は、変数の型宣言時に型のすぐ後にクエスチョンマーク「?」を追記します。

Dartで変数を使う

Dartで変数を使うには、

型 変数名=”aaa”;

のようにして使います。

サンプル

int型

duble型

void main(){
double num = 1.5;
print(num);
}

String型

void main()
{
String text="Flutter is fun";
print(text);}

boolen型

void main(){
//例
bool man = true;
bool woman = false;}

List型

Lust型は<型>のようにして格納する値の型を指定します。

Set型

Set型は<型>のようにして格納する値の型を指定します。

Map型

Map型は<型>のようにして格納する値の型を指定します。

Generics

Generics(<T>や<S>)等についての詳しい解説はこちらです。

Flutterで変数を使う

Flutterで変数を使うにはDartで変数を使うときと同じで、

型 変数名="aaa";

のようにして使います。

main.dart

import 'package:flutter/material.dart';

void main() {
  runApp(const Myapp());
}
class Myapp extends StatelessWidget {
  const Myapp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home:Scaffold(appBar:AppBar(title:Text('変数を表示する',)),
    body:App(),
      )
    );
  }
}
class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    String ansar='変数を表示しています。';

    return Center(
      child:Text(ansar),
    );
  }
}

参考

https://flutternyumon.com/dart-what-is-variable/

fem