言語識別子と変数ゴー-1-

1.識別子

编程语言的标识符是用来标识变量、类型、常量等语法对象的符号名称。一般分两类:语言设计者预留标识符,编程者自定义标识符

Go语言标识符规则:数字、字母、下划线组成,开头必须是字母或下划线。

注意:Go语言区分大小写。

1.1囲碁のキーワード

关键字是指语言设计者保留的有特定语法含义的标识符。在Go语言中,一种只有25个关键字,分3类:
  • 全体的な構造のブートストラップキーワード:8

      package     
      import      
      const       
      var     
      func        
      defer       
      go          
      return      
  • 複雑なデータ構造を宣言するキーワード:4

      struct      
      interface   
      map         
      chan        
  • キーワード制御プログラム構造:13

      if else     
      for range break continue        
      switch select type case default fallthrough     
      goto        

定数識別子1.2(4)

true false
iota
nil

1.3ブランク識別子(1)

_ (也就是下划线)

1.4組み込みデータ型識別子

数值(16个)
    整型(12个):
        byte int int8 int16 int32 int64
        unit unit8 uint16 uint32 uint64 uintprt
    浮点型(2个) :
        float32 float64
    复数型(2个):
        complex64 complex128

字符和字符串型(2个)
    string rune

接口型(1个)
    error

布尔型(1个)
    bool

Goは強く型付けされた静的にコンパイル言語であり、実際にも、Goは自動的に、データの種類を推測することができ、この文の変数に後で参照するときに、変数と定数を定義するデータ型は、表示されることを指摘しました。

組み込み関数1.5(15)

make new len cap append copy delete panic recover close complex real image print println

2.言語の演算子

Go语言一共有47个操作符,分8类:
  • 算術演算子(5):

      +   -   *    /   %   
  • ビット演算子(6):

      &   |   ^   &^  >>  <<  
  • クラス代入演算子(13):

      :=  =   +=  -=  *=  /=  %=  &=  |=  ^=  >>= <<= 
  • 比較演算子(6):

      >   >=  <   <=  ==  !=  
  • ブラケット(6):

      (   )   [   ]   {   }   
  • 論理演算子(3):

      &&  ||  !   
  • インクリメントとデクリメント(2):

      ++  --  
  • その他の演算子(6):

      :   ,   ;   .   ...     <-

3. [言語変数

変数は:使用してメモリアドレスの名前を結合するために、変数の型の定義で指定されたメモリアドレスに格納されるデータの種類が決定され、格納されるメモリアドレスの内容が変更されてもよいです。

3.1は、2つの方法で変数を宣言します。

  • 完全なステートメントショー:

      var varName dataType [= value]
    
      说明:var 用于声明变量;varName时变量名字;dataType是变量类型;value是变量初始值。
  • ショート型宣言:

      varName := value
    
      说明:声明变量同时赋初始值,没有声明变量类型,因为Go会根据初始值自动推导出数据类型。:= 这种声明只能出现在函数(方法)内。

同時に、完全な宣言宣言複数の変数を表示を使用する場合は、次のように、私たちは(あなたがグローバル変数を宣言するとき、これは通常使用)省略することができます。

    var (
        a  int    = 10
        b  string = "example"
        c  bool
        拉拉 int
    )

この文言は、通常、定義の外FUNCで、一般的にグローバル変数を宣言するために使用され、ファクタリングキーワードと呼ばれています。それはと同等です。

    var a  int    = 10
    var b  string = "example"
    var c  bool
    var 拉拉 int

3.2変数の宣言についてのいくつかの説明

図1は、まず、中国は、その後、あなたは二重引用符、単一引用符のエラーを使用しなければならない文字列を変数名を行うことができます。

変数がVARと宣言されたときに初期値を与えられていない場合は2、、、それは自動的にゼロタイプの値が与えられます。

int 为 0
float 为 0.0
bool 为 false
string 为空字符串""
指针为 nil

図3に示すように、多変数はまた、同時または平行または平行割り当てとして知られ、同じ行に割り当てることができます。以下のような:

a, b, c = 5, 7, "abc"

代わりに、シンプルな声明:

a, b, c := 5, 7, "abc"

次の2つの変数の値を交換したい場合は4、あなたは簡単に使用することができます。

a, b = b, a

いくつかのピット3.3変数の宣言

1は、変数は、それ以外の場合は、コンパイルに失敗し、それを使用するようにしてください、関数内で宣言しました。しかし、使用は問題ありませんしていない、グローバル変数を宣言します。コンパイルに失敗するコード原因未使用の変数を避けるために、我々は、アンダースコアが変わっ_変数マーカーを使用することはできません。

使用されていないパッケージに導入された場合には、図2に示すように、また、囲碁の言語で、コンパイルすることはできません。時々、私たちはそのような必要として、パッケージを導入する必要があるのinit()、または我々はデバッグコードのパッケージを削除することはいくつかの機能を使用する場合、あなたはその回避のコンパイルに失敗すると、パッケージの名前として_タグアンダースコアを追加することができます。

    package main

    import (
        "fmt"
        _ "time"
    )

    var (
        a  int    = 10
        b  string = "example"
        c  bool
        拉拉 int
    )

    func main() {
        fmt.Println("hello word")
    }

こと3.注意:ジェーン・グローバル変数と変数は、同じ名前のないよう宣言は、それは時折、隠れ変数事故変数シャドウに非常になりやすいでしょう。

3.4はnil nilの値について

ゼロ識別子のような「ゼロ値」インタフェース、関数、マップ、スライス、チャネル、エラー、ポインタまたは表すために使用されます。あなたは変数の型を指定しない場合、それは特定の種類を推測することができなかったため、コンパイラは、コードをコンパイルしません。

    package main

    func main() {  
        var x = nil // 错误

        _ = x
    }

ゼロのスライスの要素を追加しても問題ありませんが、同じことのパニックを行うには、マップのランタイムを生成します。

    package main

    func main() {  
        var m map[string]int
        m["one"] = 1    //这里将会出错 error

    }

文字列は、文字列のゼロ値が空の文字列であるので、ゼロでありません「」

これにより、開発者は多くの場合、分布の点でゼロの文字列変数を使用するために注意する場所です。

    var str string  = ""

以前の報告によると、実際には、書き込みと同じ効果上記:

    var str string

おすすめ

転載: www.cnblogs.com/ChangAn223/p/11958975.html