

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# switch
<a name="switch-function"></a>

`switch`*membandingkan *ekspresi kondisi dengan label literal*, dalam satu set label literal dan pasangan ekspresi kembali.* *Kemudian mengembalikan *ekspresi kembali* yang sesuai dengan label literal pertama yang sama dengan ekspresi kondisi.* *Jika tidak ada label sama dengan *kondisi-ekspresi, mengembalikan default-ekspresi*. `switch`* Setiap ekspresi *kembali dan ekspresi* *default harus memiliki tipe* data yang sama.

## Sintaksis
<a name="switch-function-syntax"></a>

```
switch(condition-expression, label-1, return-expression-1 [, label-n, return-expression-n ...], 
        default-expression)
```

## Pendapat
<a name="switch-function-arguments"></a>

`switch`membutuhkan satu atau lebih *if*, *maka* pasangan ekspresi, dan membutuhkan tepat satu ekspresi untuk argumen *else*. 

 *kondisi-ekspresi*   
Ekspresi yang akan dibandingkan dengan label-literal. Ini bisa berupa nama bidang seperti`address`, nilai literal seperti '`Unknown`', atau fungsi skalar lain seperti`toString(salesAmount)`. 

 *label*   
*Secara literal untuk dibandingkan dengan argumen *kondisi-ekspresi*, semua literal harus memiliki tipe data yang sama dengan argumen kondisi-ekspresi.* `switch`menerima hingga 5000 label. 

 *kembali-ekspresi*   
Ekspresi untuk kembali jika nilai labelnya sama dengan nilai ekspresi *kondisi*. Ini bisa berupa nama bidang seperti`address`, nilai literal seperti '`Unknown`', atau fungsi skalar lain seperti`toString(salesAmount)`. *Semua argumen *return-expression* harus memiliki tipe data yang sama dengan default-expression.*

 *default-ekspresi*   
Ekspresi untuk mengembalikan jika tidak ada nilai argumen label sama dengan nilai ekspresi *kondisi*. Ini bisa berupa nama bidang seperti`address`, nilai literal seperti '`Unknown`', atau fungsi skalar lain seperti`toString(salesAmount)`. *Ekspresi default* *harus memiliki tipe data yang sama dengan semua argumen ekspresi kembali.*

## Jenis pengembalian
<a name="switch-function-return-type"></a>

`switch`mengembalikan nilai dari tipe data yang sama dengan nilai-nilai dalam ekspresi *kembali.* Semua data yang dikembalikan *return-expression* dan *default-expression* harus dari tipe data yang sama atau dikonversi ke tipe data yang sama. 

## Contoh Umum
<a name="switch-function-example"></a>

Contoh berikut mengembalikan Wilayah AWS kode nama wilayah masukan. 

```
switch(region_name, 
               "US East (N. Virginia)", "us-east-1", 
               "Europe (Ireland)", "eu-west-1", 
               "US West (N. California)", "us-west-1", 
               "other regions")
```

Berikut ini adalah nilai bidang yang diberikan.

```
"US East (N. Virginia)"
        "US West (N. California)"
        "Asia Pacific (Tokyo)"
```

Untuk nilai bidang ini nilai berikut dikembalikan.

```
"us-east-1"
        "us-west-1"
        "other regions"
```

## Gunakan sakelar untuk mengganti `ifelse`
<a name="switch-instead-of-ifelse"></a>

Kasus `ifelse` penggunaan berikut adalah setara dengan contoh sebelumnya, untuk `ifelse` mengevaluasi apakah nilai satu bidang sama dengan nilai literal yang berbeda, menggunakan `switch` sebagai gantinya adalah pilihan yang lebih baik.

```
ifelse(region_name = "US East (N. Virginia)", "us-east-1", 
               region_name = "Europe (Ireland)", "eu-west-1", 
               region_name = "US West (N. California)", "us-west-1", 
               "other regions")
```

## Ekspresi sebagai nilai kembali
<a name="switch-expression-as-return-value"></a>

Contoh berikut menggunakan ekspresi dalam ekspresi *kembali:*

```
switch({origin_city_name}, 
               "Albany, NY", {arr_delay} + 20, 
               "Alexandria, LA", {arr_delay} - 10,
               "New York, NY", {arr_delay} * 2, 
               {arr_delay})
```

Contoh sebelumnya mengubah waktu tunda yang diharapkan untuk setiap penerbangan dari kota tertentu.

![\[Gambar hasil contoh fungsi, ditunjukkan dalam bentuk tabel.\]](http://docs.aws.amazon.com/id_id/quick/latest/userguide/images/switch-function-example.png)
