ゴー言語関数の最初に、フォーマット
この関数は、コードの論理構造が実行される構成囲碁言語は、組成物の基本的な機能:キーワードFUNC、関数名、パラメータリスト、関数本体の戻り値とreturn文は、各プログラムは、機能の数が含まれ、機能があります基本的なビルディングブロック。
// 関数の戻り値 FUNCログ(メッセージ文字列){ } // 関数の値を返さない FUNC追加(A、BのINT)INT { 戻りVAR1 } // 関数の戻り値の複数 FUNCパワー(名前の文字列)(INT、BOOL ){ 戻り VAR1、VAR2 } // 名前の戻り値 (A、B追加FUNC INT)(C INT ){ Cは = A + Bの 戻りC }
多機能の値を返します。
FUNCメイン(){ : = 0 、B: = 0 、B = addAndMultiply(10、20 ) fmt.Println(" A = " 、A) fmt.Println(" B = " 、B) } addAndMultiply FUNC(A 、BのINT)(INT、INT ){ 返す + bの、*のBを }
第二に、パラメータの関数として、
主パッケージ のインポート" FMT " インポート" ストリング" FUNCメイン(){ STR: = strToCase(" ABDCFSDFE " 、processLetter) fmt.Println(STR) } // 関数の引数 FUNC strToCase(STR 文字列、myfunc関数FUNC(文字列)ストリング)列{ 戻りmyfunc関数(STR) } // 文字列交互パリティ FUNC processLetter(STRの文字列)(結果文字列){ 用 I、値=範囲STR { もし I%2 == 0 { 結果 + = strings.ToUpper(文字列(値)) } 他{ 結果 + = strings.ToLower(文字列(値)) } } 戻り結果 }
タイプのカスタムタイプを使用します
主パッケージ のインポート" FMT " インポート" ストリング" FUNCメイン(){ STR: = strToCase(" ABDCFSDFE " 、processLetter) fmt.Println(STR) } // 関数の引数(パラメータタイプはタイプを使用して定義された) FUNC strToCase( STRの文字列、myfunc関数processLetterFunc)列{ 戻りmyfunc関数(STR) } // processLetterのタイプを使用()関数の型を定義 種類processLetterFunc FUNC(文字列)文字列 // 列交互パリティ FUNC processLetter(STRのストリング)(結果の列){ 用 I、値= 範囲STR { もし I%2 == 0 { 結果 + = strings.ToUpper(文字列(値)) } 他{ 結果 + = strings.ToLower(文字列(値)) } } 戻り結果 }
変数の第二に、スコープ
1、ときに、同じ名前とグローバル変数とローカル変数、ローカル変数の優先順位
// 全局变量 SSPかINT = 100 VAR NUM2 INT = 200 FUNCメイン(){ NUMのNUM2: = 1、2 fmt.Println(" NUM = " 、NUM)// NUM = 1 fmt.Println(" NUM2 = " 、NUM2)// NUM2 = 2 }