golang基礎--定数と演算子

2553 ワード

定数と演算子
定数の定義
  • 定数の値はコンパイル時にすでに
  • と決定されています.
  • 定数の定義フォーマットは、変数と基本的に同じです.
  • 等号の右側は定数または定数式
  • でなければなりません.
  • 仕様:定数定義時は大文字、単語間は大文字で使用することを推奨します.
  • 鞄の外部呼び出しに便利です.
  • パケット内部のみに限定される場合は、定数の先頭に_を使用するか、小文字c
    //    
    package main
    
    import "fmt"
    const a int = 1                                      //    :    
    const b = 'A'                                        //      
    const(
        c = a
        d = a + 1
        e = a + 2
    )
    
    const ( //       2
        a2, b2, c2 = 1, "2", "c"
       )
    const a3, b3, c3 = 1, "2", "c"                      //    ,    
    const (                                             //     :        ,               
        a4 = 1
        b4
        c4
        d4
      )
    
    func main() {
        fmt.Println(a4)
        fmt.Println(b4)
        fmt.Println(c4)
        fmt.Println(d4)
      }
    
    /*output
      1
      1
      1
      1
    */
    
    を使用するか、
  • を使用する.
    定数とグローバル変数の違い
  • 定数表現では、実行時に得られる変数と値
    package main
    
    import "fmt"
    
    var sss = 123
    const (
        //a = len(sss)                             //        ,        
        b = "123"
        c = len(b)
        d,f = 1,"abc"
        j                                              //         ,          
      )
    
    func main() {
        //fmt.Println(a)
        fmt.Println(b)
        fmt.Println(c)
        fmt.Println(d)
      }
    
    /*output
        123
          3
          3
    */
    
  • を使用することができません.
    列挙は定数グループを結合して使って、数えますに用います.
  • 定数グループで定義されるごとに、カウントは1ずつ増加し、最初の定数はデフォルトでは0
  • です.
  • グループ内の定数にキーワードiotaが発生する場合、このグループの定数を使用する必要があるカウント
    //  &  (  )
    package main
    
    import "fmt"
    
    const (
        B1 = "ssss"
        A  = "a"
        B  = iota
        E
        F  = iota
     )
    
    func main() {
        fmt.Println(B1)
        fmt.Println(A)
        fmt.Println(B)
        fmt.Println(E)
        fmt.Println(F)
      }
    
    /*output
        ssss           //iota =0
        a	              //iota=1
        2	              //iota =2
        3
        4
    */
    
  • が示されている.
    演算子
  • goで演算子がそろっている場合は、左から右まで
  • です.
    練習:定数iota<<演算子を結合して、コンピュータ記憶単位のエニュメレート・エニュメレート・*.
  • expt:
     /*              
     */
     package main
     
    import "fmt"
     const (
     	B  float64 = 1 << (iota * 10) //  iota =0 ,KB
     	KB                            //      1,MB
     	MB                            // iota 2
     	GB 
     	TB 
     	PB 
     )
    
     func main() {
     	fmt.Println(B)
     	fmt.Println(KB)
     	fmt.Println(MB)
     	fmt.Println(TB)
     	fmt.Println(PB)
     }
    
     /*output
     1
     1024
     1.048576e+06
     1.099511627776e+12
     1.125899906842624e+15
     */