Go: 사양: κΈ°λŠ₯ μš”μ²­: μ‚Όν•­ ν‘œν˜„μ‹ μΆ”κ°€

에 λ§Œλ“  2017λ…„ 06μ›” 23일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: golang/go

λ‹€μŒκ³Ό 같은 μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

      if value != nil {
        return *value
      }
      return defaultValue

... 그런 κ°„λ‹¨ν•œ μ„ νƒμžμ—κ²ŒλŠ” κ½€ μ„±κ°€μ‹  μΌμž…λ‹ˆλ‹€. 정말 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€:

         value != nil ? *value : defaultValue

... λ˜λŠ”:

       cond value != nil,  *value, defaultValue

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

Go에 μ‚Όν•­ ν‘œν˜„μ‹μ΄ μ—†λ‹€λŠ” 것은 (가독성을 μœ„ν•΄) λͺ…μ‹œμ μΈ λ””μžμΈ κ²°μ •μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

λ•Œλ•Œλ‘œ GoλŠ” λͺ‡ 쀄 더 μž‘μ„±ν•˜κ²Œ ν•˜μ§€λ§Œ λͺ…ν™•μ„±κ³Ό 가독성을 μœ„ν•΄ κ·Έ λΉ„μš©μ„ κ°μˆ˜ν•©λ‹ˆλ‹€.

λͺ¨λ“  3 λŒ“κΈ€

Go에 μ‚Όν•­ ν‘œν˜„μ‹μ΄ μ—†λ‹€λŠ” 것은 (가독성을 μœ„ν•΄) λͺ…μ‹œμ μΈ λ””μžμΈ κ²°μ •μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

λ•Œλ•Œλ‘œ GoλŠ” λͺ‡ 쀄 더 μž‘μ„±ν•˜κ²Œ ν•˜μ§€λ§Œ λͺ…ν™•μ„±κ³Ό 가독성을 μœ„ν•΄ κ·Έ λΉ„μš©μ„ κ°μˆ˜ν•©λ‹ˆλ‹€.

μ €λŠ” μ§€κΈˆ κ°„λ‹¨ν•œ κ°„λ‹¨ν•œ 쑰건 맀핑이 μžˆλŠ” μž‘μ—…μ„ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ‚Όν•­ μ—°μ‚°μžκ°€ μ—†μœΌλ©΄ 읽을 수 μ—†μŠ΅λ‹ˆλ‹€! λ„ˆλ¬΄ λ‹΅λ‹΅ν•΄!

μ‚Όν•­ μ—°μ‚°μžλŠ” μ½”λ“œλ₯Ό 읽기 쉽고 κΉ¨λ—ν•˜κ²Œ λ§Œλ“­λ‹ˆλ‹€.

이것이 λ‚΄κ°€ μžλ°” μŠ€ν¬λ¦½νŠΈμ—μ„œ ν•œ λ°©λ²•μž…λ‹ˆλ‹€.

  function getLevel(level) {
-            if (level <= 23100) {
-                return 23100
-            }
-            else if (level <= 24000) {
-                return 24000
-            }
-            else if (level <= 25200) {
-                return 25200
-            }
-            else if (level <= 26400) {
-                return 26400
-            }
-            else if (level <= 27600) {
-                return 27600
-            }
-            else if (level <= 28800) {
-                return 28800
-            }
-            else if (level <= 30300) {
-                return 30300
-            }
-            else if (level <= 31800) {
-                return 31800
-            }
-            else if (level <= 33300) {
-                return 33300
-            }
-            else if (level <= 34800) {
-                return 34800
-            }
-            else if (level <= 36300) {
-                return 36300
-            }
-            else if (level <= 38200) {
-                return 38200
-            }
-            else if (level <= 40100) {
-                return 40100
-            }
-            else if (level <= 42000) {
-                return 42000
-            }
-            else if (level <= 43900) {
-                return 43900
-            }
-            else {
-                return 45800
-            }
+            return  level <= 23100 ? 23100 :
+                    level <= 24000 ? 24000 :
+                    level <= 25200 ? 25200 :
+                    level <= 26400 ? 26400 :
+                    level <= 27600 ? 27600 :
+                    level <= 28800 ? 28800 :
+                    level <= 30300 ? 30300 :
+                    level <= 31800 ? 31800 :
+                    level <= 33300 ? 33300 :
+                    level <= 34800 ? 34800 :
+                    level <= 36300 ? 36300 :
+                    level <= 38200 ? 38200 :
+                    level <= 40100 ? 40100 :
+                    level <= 42000 ? 42000 :
+                    level <= 43900 ? 43900 : 45800
         }
이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰