1
+ package optimizeWhenStatement
2
+
3
+ fun getErrorCode (type : String ): String {
4
+ when (type) {
5
+ " error" -> return " 404"
6
+ " success" -> return " 200"
7
+ else -> return " Unknown type"
8
+ }
9
+ }
10
+
11
+ fun getErrorCodeOptimized (type : String ): String {
12
+ return when (type) {
13
+ " error" -> " 404"
14
+ " success" -> " 200"
15
+ else -> " Unknown type"
16
+ }
17
+ }
18
+
19
+ fun getErrorCodeOptimizedUsingExpressionBodySyntax (type : String ): String = when (type) {
20
+ " error" -> " 404"
21
+ " success" -> " 200"
22
+ else -> " Unknown type"
23
+ }
24
+
25
+ fun getMessageLength (type : String ): Int {
26
+ when (type) {
27
+ " short" -> return 5
28
+ " medium" -> return 10
29
+ " long" -> return 20
30
+ else -> return 0
31
+ }
32
+ }
33
+
34
+ fun categorizeNumber (number : Int ): String {
35
+ when {
36
+ number < 0 -> {
37
+ println (" Logging negative number: $number " )
38
+ return " Negative"
39
+ }
40
+ number % 2 == 0 -> {
41
+ println (" Logging even number: $number " )
42
+ return " Even"
43
+ }
44
+ else -> {
45
+ println (" Logging odd number: $number " )
46
+ return " Odd"
47
+ }
48
+ }
49
+ }
50
+
51
+ fun categorizeNumberOptimized (number : Int ): String {
52
+ return when {
53
+ number < 0 -> {
54
+ println (" Logging negative number: $number " )
55
+ " Negative"
56
+ }
57
+ number % 2 == 0 -> {
58
+ println (" Logging even number: $number " )
59
+ " Even"
60
+ }
61
+ else -> {
62
+ println (" Logging odd number: $number " )
63
+ " Odd"
64
+ }
65
+ }
66
+ }
67
+
68
+ fun processStatus (status : String ): String {
69
+ when (status) {
70
+ " active" -> return " Processing"
71
+ " inactive" -> return " Idle"
72
+ " error" -> return " Error occurred"
73
+ else -> return " Unknown status"
74
+ }
75
+ }
76
+
77
+ fun processStatusOptimized (status : String ): String {
78
+ val result = when (status) {
79
+ " active" -> " Processing"
80
+ " inactive" -> " Idle"
81
+ " error" -> " Error occurred"
82
+ else -> " Unknown status"
83
+ }
84
+ println (" Processing status: $result " )
85
+
86
+ return result
87
+ }
0 commit comments