7.Go_연산자

5781 단어
Go_연산자

Go_내장 연산자:
  • 산술 연산자
  • 관계 연산자
  • 논리 연산자
  • 비트 연산자
  • 할당 연산자
  • 기타 연산자
  • 산술 연산자
    + -->>   
    - -->>   
    * -->>   
    / -->>   
    % -->>   
    ++ -->>   
    -- -->>   
    
      :
    package main
    import "fmt"
    func main() {
        var s1 int = 20
        var s2 int = 10
        var s3 int
        s3 = s1 + s2
        fmt.Println("s1+s2=",s3)
        s3 = s1 - s2
        fmt.Println("s1-s2=",s3)
        s3 = s1 * s2
        fmt.Println("s1 * s2=",s3)
        s3 = s1 / s2
        fmt.Println("s1 / s2=",s3)
        s3 = s1 % s2
        fmt.Println("s1 % s2=",s3)
        s1++
        fmt.Println("s1++",s1)
        s1--
        fmt.Println("s1--",s1)
    }
    

    관계 연산자
    == -->>          ,       True      False。
    != -->>           ,        True      False。
    >  -->>             ,      True      False。
    <  -->>             ,      True      False。
    >= -->>               ,      True      False。
    <= -->>               ,      True      False。
    
      :
    package main
    import "fmt"
    func main() {
        var  l1 int = 20
        var  l2 int = 10
        if(l1 == l2){
            fmt.Println("l1  l2")
        } else
        {
        fmt.Println("l1   l2")
        }
        if(l1 < l2){
            fmt.Println("l1  l2")
        }else {
            fmt.Println("l1   l2")
        }
        if(l1>l2){
            fmt.Println("l1  l2")
        }else {
            fmt.Println("l1   l2")
        }
        if(l1 <= l2) {
            fmt.Println("l1     l2")
        }else
        {
            fmt.Println("l1     l2")
        }
    }
    
        :
    l1   l2
    l1   l2
    l1  l2
    l1     l2
    

    논리 연산자
    && -->>    AND    。            True,    True,    False。
    || -->>    OR    。             True,    True,    False。
    !  -->>    NOT    。       True,    NOT    False,    True。
    
      :
    package main
    import "fmt"
    func main() {
        var m1 bool = true
        var m2 bool = false
        if (m1 && m2){
            fmt.Println("ture")
        }
        if (m1 || m2){
            fmt.Println("true")
        }
        m1 = false
        m2 = true
        if (m1 && m2){
            fmt.Println("true")
        } else {
        fmt.Println("false")
        }
        if (!(m1 && m2)){
            fmt.Println("true")
        }
    }
    
        :
    true
    false
    true
    

    비트 연산자
      A = 60 ,B = 13
    A = 0011 1100
    B = 0000 1101
    A & B = 0000 1100
    A | B = 0011 1101
    A ^ B = 0011 0001
    ~A = 1100 0011
    
    & -->>       "&"      。                     。
    | -->>       "|"      。                     
    ^ -->>        "^"      。                      ,        
       ,   1。
    << -->>      "<> -->>     ">>"      .  n     2 n  。      ">>"             
         ,">>"           。
    
    package main
    
    import "fmt"
    
    func main() {
        var n1 uint = 60
        var n2 uint = 13
        var n3 uint = 0
    
        n3 = n1 & n2
        fmt.Println(n3)
    
        n3 = n1 | n2
        fmt.Println(n3)
    
        n3 = n1 ^ n2
        fmt.Println(n3)
    
        n3 = n1 << 2
        fmt.Println(n3)
    
        n3 = n1 >> 2
        fmt.Println(n3)
    }
    
        :
    12
    61
    49
    240
    15
    

    대입 연산자
    = -->>         ,              
    += -->>       
    -= -->>       
    *= -->>       
    /= -->>       
    %= -->>       
    <<= -->>      
    >>= -->>      
    &=  -->>       
    ^=  -->>        
    |=  -->>       
    
      :
    package main
    import "fmt"
    func main() {
        var p1 int = 20
        var p2 int
        p2 = p1
        fmt.Println(p2)
        p2 += p1
        fmt.Println(p2)
        p2 -= p1
        fmt.Println(p2)
        p2 *= p1
        fmt.Println(p2)
        p2 /= p1
        fmt.Println(p2)
        p2 = 200
        p2 <<= 2
        fmt.Println(p2)
        p2 >>= 2
        fmt.Println(p2)
        p2 &= 2
        fmt.Println(p2)
        p2 ^= 2
        fmt.Println(p2)
        p2 |= 2
        fmt.Println(p2)
    }
    
        :
    20
    40
    20
    400
    20
    800
    200
    0
    2
    2
    

    기타 연산자
    & -->>         
    * -->>     。
    
    package main
    import "fmt"
    func main() {
        var q1 int = 4
        var q2 int32
        var q3 float32
        var ptr *int
        fmt.Println(q1)
        fmt.Print(q2)
        fmt.Println(q2)
        fmt.Println(q3)
        ptr = &q1
        fmt.Println(q1)
        fmt.Println(*ptr)
    }
    
        :
    int
    int32
    float32
    4
    4
    

    연산자 우선 순위
    7 -->>  ^!
    6 -->>  * / % << >> & &^
    5 -->>  + - | ^
    4 -->>  == != < <= >= >
    3 -->>  >  &&
    1-->>   ||
    
    package main
    import "fmt"
    
    func main() {
        var a int = 20
        var b int = 10
        var c int = 15
        var d int = 5
        var e int;
        e = (a + b) * c / d;      // ( 30 * 15 ) / 5
        fmt.Printf("(a + b) * c / d   : %d
    ", e ); e = ((a + b) * c) / d; // (30 * 15 ) / 5 fmt.Printf("((a + b) * c) / d : %d
    " , e ); e = (a + b) * (c / d); // (30) * (15/5) fmt.Printf("(a + b) * (c / d) : %d
    ", e ); e = a + (b * c) / d; // 20 + (150/5) fmt.Printf("a + (b * c) / d : %d
    " , e ); }
        :
    (a + b) * c / d   : 90
    ((a + b) * c) / d    : 90
    (a + b) * (c / d)    : 90
    a + (b * c) / d    : 50
    

    좋은 웹페이지 즐겨찾기