パッケージメイン インポート「FMT 」 // パッケージを定義し、その後、あなたは最初の文字の名前を書いて、環境変数カット機能に提出しなければなりませんが大文字にしなければならなく大文字の代表が唯一のパッケージ内で使用する // 少し異なっている限り、その後、等しくすることができる偶数値にそのようなタイプは等しくありません // 機能拡張 パッケージメイン インポート「FMT 」 // 閉鎖機能:内部で定義された機能、外部アクションへの参照がある // // 内部機能:関数が関数の内部で定義されている // 関数内で定義された関数が知られていないが、無名関数を定義行く:いいえ名前 FUNCテスト(INT ){ FUNC(){ fmt.Println(「私は内部機能しています」) }() } // クロージャ関数 FUNC試験(A INT )(FUNC()){ // VAR INT C = 100 B:= FUNC(){ fmt.Println(A) fmt.Println(「私は閉鎖機能しています」) } リターンB } 関数の定義、機能を渡し、関数が戻ります 機能試験(FUNC())関数(){ B: = FUNC(){ fmt.Println(" I最初の実行" ) () fmt.Println(「関数実行終了」) } リターンB } TEST2関数(){ fmt.Println(" XXXX " ) } // エイリアスコマンドのタイプに タイプMyFuncとFUNC(int型、BのINT )FUNC() タイプミントのint FUNC試験()(MyFuncと){ C: = FUNC(INT、BのINT )FUNC(){ 戻りFUNC(){ } } リターンC } FUNCのmain(){ // :=試験(3) // () // = TEST2 // A =テスト() // () VAR Aミン= 10 VAR B INT = 90 、A = ミン(B) fmt.Println(A) } // ため FUNCのXXX(){ 用 I:= 0 ; I> 10 ; I ++ { fmt.Println(I) // ループのための簡単な、私は++関数が内部に配置することができ、I = 0は、外側ループのために定義されてもよい // 同じブレークと他の言語を続行します } } // Advancedの FUNCは{)(dddの ため = I、V レンジ{ // イテラブル、範囲キーワードである // I、インデックス // Vはイテレータ内の値である (fmt.Println I、V) } } // と非 // && ||! // 定義アレイ FUNCのAAAA(){ : = [ 6 ] INT { 1、2、3、4:100 } // 長さ6の配列を定義する値1,2,3,0,0,0 fmt.Println(A [ 0 ] ) // 4:100は、指標値は4 100 // 0取得値インデックス値 // パラメータのすべての機能が伝記ない限り、関数内部外部値を変更できないコピーの値上を通過していますメモリアドレス } // 多次元アレイ定義 FUNC QQQ(){ VARの A [ 10 ] [ 2 ] INT //は長さ2 10のリストに配置され、長さ10のリストを生成 fmt.Println(A [ 0 ] [ 1 ] ) } // もう一つは、決定の場合 A:= 10 スイッチA { ケース 1。 : fmt.Println(" 1 " ) fmt.Println(" XXXX " ) ケース 2 : fmt.Println(" 2 " ) の場合 10 : fmt.Println(「10 」) // 場合の浸透無条件に実行内容 フォールスルー ケース 11 : fmt.Println(" 11 " ) TEST5() フォールスルー ケース 12 : fmt.Println(" 12 " ) } } インポート" FMT " // それ以外の基本的な使い方IF メインFUNC(){ : = 20 であれば > 20 { fmt.Println(" 暁" ) } そう であれば、< 20 { fmt.Println(" DA " ) } 他{ fmt.Println(「等しくありません」) } }