처음부터 시작 - 부울 논리 적용

This article will cover working with boolean logic. You will learn how to work with boolean data, if, else if and else constructs.





프로그램에서 부울 논리를 사용하는 것은 코드를 통해 다른 실행 경로를 만드는 것입니까?

What does that mean?



즉, 어떤 데이터를 입력하느냐에 따라 프로그램이 실행될 수 있는 방법이 한 가지 이상이라는 의미입니다.

Ok, can you show me?



물론 다음 코드를 고려하십시오.

printMessage := true
 if printMessage {
  fmt.Println("Message")
 }


만약 printMessage true입니다. , 문자열 "Message"가 인쇄됩니다. 값이 false , 아무것도 인쇄되지 않습니다.

Ok, I think I get it.



시리즈


  • 당신의 첫 번째 프로그램, 당신은 여기 있습니다

  • 만약에 당신이 여기 있다면






  • if 구조



    값에 따라 실행되거나 실행되지 않는 코드에 대한 예를 이미 보았습니다. if 그것을 가능하게 하는 것이 바로 구조입니다. 안 if 다음과 같은 부울 표현식을 사용하십시오.

    if true {
      // statements here will always run
    }
    


    부울 변수 사용



    부울 식의 일부로 부울 값을 사용하는 경우 이를 평가해야 합니다. 다음은 이를 보여주는 코드입니다.

    accountBalance = 100
    accountCredit = 200
    if accountBalance + accountCredit > 0 {
      fmt.Println("You have money to spend")
    }
    


    위의 프로그램은 작업을 수행합니다. 즉, 지출할 돈이 있는지 여부를 올바르게 평가합니다. 그러나 else가 있기 때문에 조건이 충족되지 않으면 무언가를 인쇄하고 싶을 수 있습니다. .

    다른 소개



    이전 코드를 개선하고 싶습니다. else 절은 if일 때 실행됩니다. 거짓으로 평가됩니다. 프로그램에 추가하는 방법은 다음과 같습니다.

    accountBalance = 100
    accountCredit = 200
    if accountBalance + accountCredit > 0 {
      fmt.Println("You have money to spend")
    } else {
      fmt.Println("No money left, please add more funds")
    }
    


    다른 경우 사용


    ifelse 당신을 멀리 데려다줍니다. 때로는 충분하지 않습니다. 시험에서 획득한 점수에 따라 다른 수준의 과정을 채점해야 할 수도 있습니다. 이 상황에서는 else if if 구문은 false로 평가됩니다. . else와 다릅니다. 그것은 또한 표현식을 취한다는 점에서. 다음은 사용되는 예입니다.

    if testScore >= testScoreGrade5 {
      fmt.Println("Top mark")
     } else if testScore >= testScoreGrade4 {
      fmt.Println("Pass with distinction")
     } else if testScore >= testScoreGrade3 {
      fmt.Println("Pass with distinction")
     } else {
      fmt.Println("Failed")
     }
    


    여러 표현식



    식은 둘 이상의 변수 또는 조건을 검사할 수 있습니다. 도움이 되는 부울 연산자가 있습니다. 다음은 발생할 가능성이 있는 몇 가지 연산자입니다.
  • && , 왼쪽과 오른쪽의 값이 모두 참이면 참으로 평가됩니다. 다음은 사용 중인 이 연산자의 예입니다.

    hasGas := true
    hasKeyInIgnition := true
    if hasGas && hasKeyInIgnition {
      fmt.Println("Can drive car")
     }
    

    앞의 코드에서 표현식은 hasGashasKeyInIgnition 사실이다.
  • || , 왼쪽 또는 오른쪽 값이 참이면 참으로 평가됩니다. 다음은 사용 중인 이 연산자의 예입니다.

  •   hasBurger := true
      hasSandwich := false
    
      if hasBurger || hasSandwich {
        fmt.Println("Can eat")
      }
    


    이전 코드에서 hasBurger 이 표현이 참이 되기에 충분합니다.
  • ! , NOT이라고도 하며 표현식을 부정합니다. 예를 들면 다음과 같습니다.

  •    hasSandwich := false
    
       if !hasSandwich {
        mt.Println("No sandwiches, then I will starve, I only eat sandwiches")
       }
    


    위 식은 !의 부정 덕분에 true로 평가됩니다. .

    연습 - 부울 논리를 테스트하는 프로그램 만들기


  • 파일 main.go를 만들고 다음 내용을 제공합니다.

  •     package main
    
        import "fmt"
    
        func main() {
         testScoreGrade5 := 80
         testScoreGrade4 := 60
         testScoreGrade3 := 50
         testScore := 49
    
         hasGas := true
         hasKeyInIgnition := true
    
         hasBurger := true
         hasSandwich := false
    
         printMessage := true
         if printMessage {
          fmt.Println("Message")
         }
    
         if testScore >= testScoreGrade5 {
          fmt.Println("Top mark")
         } else if testScore >= testScoreGrade4 {
          fmt.Println("Pass with distinction")
         } else if testScore >= testScoreGrade3 {
          fmt.Println("Pass with distinction")
         } else {
          fmt.Println("Failed")
         }
    
         if hasGas && hasKeyInIgnition {
          fmt.Println("Can drive car")
         }
    
         if hasBurger || hasSandwich {
          fmt.Println("Can eat")
         }
    
         if !hasSandwich {
          fmt.Println("No sandwiches, then I will starve, I only eat sandwiches")
         }
        }
    


  • 명령 실행 go run main.go , 프로그램을 실행하려면

  •    go run main.go
    


    다음 출력이 표시되어야 합니다.

        Message
        Failed
        Can drive car
        Can eat
        No sandwiches, then I will starve, I only eat sandwiches
    


  • 코드를 가지고 놀아보십시오. testScore를 변경하면 출력이 어떻게 변경됩니까? 값을 51, 62 03 90?
  • 과제: 시험 점수가 음수가 되어서는 안 됩니다. 어떻게 수표를 추가할 수 있습니까?

  • 요약



    이 기사에서는 if , else ifelse 부울 표현식의 사용. 데이터 값에 따라 코드가 다르게 실행됩니다.

    좋은 웹페이지 즐겨찾기