Golang-3:有用な制御ドア-switch
スイッチ式
switchには式とタイプがあります.
ベースなので、式だけチェックしましょう!
Goのswitchの文法は他の言語と大きく違いますpackage main
import "fmt"
func main() {
words := []string{"a", "bb", "ccc", "dddd", "eeeee"}
for _, word := range words {
switch size := len(word); size {
// 글자 길이를 size 로 저장하고 size 값 마다 구분하여 실행합니다.
case 1, 2:
fmt.Println(word, "is word.length = 1,2") // break 가 없다!
case 3:
tokenLen := len(word)
fmt.Println(word, "is word.length == 3 , length:", tokenLen)
case 4:
// 아무것도 없다..
default:
fmt.Println(word, "is another")
}
}
}
Console
他の言語で使わなければならない場所はありませんが、
caseに何もない場合はdefaultも実行されません!(何もしない)
確かに可読性が良く、不要なルールが見えず、すっきり!
繰り返し文から脱出したい場合は、breakを追加してforのループから脱出することができます.
break loopを書けばいい
Reference
この問題について(Golang-3:有用な制御ドア-switch), 我々は、より多くの情報をここで見つけました
https://velog.io/@phoenix/Go-lang-3-쓸모있는-제어문-switch
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
package main
import "fmt"
func main() {
words := []string{"a", "bb", "ccc", "dddd", "eeeee"}
for _, word := range words {
switch size := len(word); size {
// 글자 길이를 size 로 저장하고 size 값 마다 구분하여 실행합니다.
case 1, 2:
fmt.Println(word, "is word.length = 1,2") // break 가 없다!
case 3:
tokenLen := len(word)
fmt.Println(word, "is word.length == 3 , length:", tokenLen)
case 4:
// 아무것도 없다..
default:
fmt.Println(word, "is another")
}
}
}
他の言語で使わなければならない場所はありませんが、
caseに何もない場合はdefaultも実行されません!(何もしない)
確かに可読性が良く、不要なルールが見えず、すっきり!
繰り返し文から脱出したい場合は、breakを追加してforのループから脱出することができます.
break loopを書けばいい
Reference
この問題について(Golang-3:有用な制御ドア-switch), 我々は、より多くの情報をここで見つけました https://velog.io/@phoenix/Go-lang-3-쓸모있는-제어문-switchテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol