変数
VARキーワードの一般的な形式を使用して宣言変数を行きます:
VaRの名前タイプ
変数の後の変数名の型に変数を宣言します。
VaRの A、B * int型
外出先での基本的なタイプ:
ブール値、文字列、int型、INT8 ... UINT ...バイト// uint8の別名、ルーン// INT32エイリアスは、Unicodeのコードを表す、のfloat32、float64型、複合型のcomplex64,128
変数が宣言されると、それは自動的にゼロタイプの値が与えられ、INTは、ポインタがnilで、0は、フロート0.0は、ブール値が偽で、文字列が空の文字列です。
外出先でのすべてのメモリが初期化後に言います。
numShipsとして、こぶの命名
標準フォーマット:
VAR変数名変数タイプ
バッチの文:
VAR (INT B 列 C []のfloat32 // FUNCは、関数定義 D FUNC()BOOL // 構造体カスタムタイプ Eの構造体{ X INT } )
ショートフォーマット:
名前:=式
変数を定義1.
2.データ・タイプを提供することができません
3.関数の内部でのみ使用することができます
I、J:= 0、1
変数の初期化:
VAR HP int型 = 100 // VAR =変数名型の式またはVAR馬力= 100
指定されたアドレスと開始するネットワーク接続プロトコル、関数リターン2つの値を提供net.Dial、一方が接続対象である一つのエラーオブジェクトは言いました:
メインパッケージ インポート" ネット" VAR net.Conn CONN VaRのERR誤差 のmain(){FUNC CONN、ERR = net.Dial(" TCP "、" 127.0.0.1:8080を" ) }
エラー処理や機能、外出先言語の戻り値内の複数の割り当てが広く使用されます。
// IntSliceはint型として宣言 [] IntSlice型INT // LEN IntSlice型メソッドとして書かを、スライスの長さが提供される FUNC(P IntSlice)レン()INT { リターン(P)lenが} // ザは、jはIを供給要素インデックスを比較すると、比較結果が返さ FUNC(P IntSlice)以下(I、J INT)BOOL { 戻り [I] <PをP [J]} // 2つの要素値の切り替え (FUNC(PのIntSlice)スワップI 、 JのINT){P [I]、P [J] = P [J]、P [I]}
匿名変数:下線__
GetData()(FUNC INT、INT ){ リターン 100、200 } 、{メインFUNC() :_ = のGetData() _、B: = のGetData() fmt.Println(B) }
変数、定数、または関数の種類は、スコープと呼ばれ、プログラムの範囲の役割を有しています
定義された関数が呼び出されたローカル変数
外で定義された関数は、グローバル変数と呼ばれています
仮パラメータと呼ばれる変数の関数で定義されています
// グローバル変数 VAR INT = 13である FUNCメイン(){ // ローカル変数およびB VAR INTを = 3 のvar BのINT = 4 fmt.Printf(" main()関数のDの%= A \ N- " 、 A) fmt.Printf(" main()関数のD(%)= B \ N- " 、B) C: = SUM(A、B) fmt.Printf(" main()関数のD(%)= C \ N- " 、C ) } // 仮パラメータ FUNC SUM(A、BのINT)INT { fmt.Printf(" SUM()関数D(%)= A \ N- " 、A) fmt.Printf(" SUM()関数Dの%= B \ N- " 、B) NUM: = A + B リターンNUM }
符号付き整数型int、符号なし整数型のUINT、uintptr
complex128(64ビット実数および虚数)とcomplex64(32ビット実数および虚数)
三部の複雑なRE(実部)+ IMI(IM虚部と虚数単位のI)の値は、前の二つのタイプがフロートしています
免責事項複雑な構文:
VAR名= complex128コンプレックス(X、Y)
変数名に//名前錯体、錯体、xのcomplex128タイプのfloat64複数の二種類のyの値を表し、xはyは虚数部で、実部
/ /または:名前:=錯体(X、 Y)
使用レアル()は複素数Yの虚数部を得るために、IMAG()を使用して、複素数xの実部を得るために
サイン罪:
主パッケージ のインポート( 「画像」 、「画像/カラー」 「画像/ PNG 」 「ログ」 「演算」 「OS 」 ) FUNCメイン(){ // 画像サイズ のconstサイズ= 300 // グレースケールを作成するために指定されたサイズ PIC:= image.NewGray(image.Rect(0、0 、サイズ、大きさ)) // 反復各画素を通る ための X = 0 ; X <サイズ; X ++ { 用 Y:= 0 ; Y <サイズ。そして++ { // 白で満たさ pic.SetGray(X、Y、Color.grayの{ 255 }) } } // 0からxは画素の座標最大に発生 するため、X:= 0 ; X <サイズ; X ++ { //は値Sinを作ります2PI〜0の間の範囲である S:のfloat64 =(X)* 2 *にMath.PI / サイズ // 罪の振幅は半分の画素です。画素の半分がダウンシフトと反転 サイズ= /:Yを2 math.Sin(S)*サイズ/ - 2 // 罪軌跡を描くブラック pic.SetGray(X、INT(Y)、Color.grayの{ 0 }) } // ファイルの作成 (= os.Create:ファイル、ERRを"sin.png " ) IF ERR!= ゼロ{ log.Fatal(ERR) } // PNG形式でファイルに書き込みデータ png.Encode(ファイル、PIC)を// 画像情報がファイルに書き込まれる // 近いファイル ファイル.close() }
使用イメージパッケージNewGray()関数は、正方形image.Rectは、2つのアンカーポイント(x1、y1)と(x2、y2)と、image.Rect(0説明、領域image.Rect構造を使用することによって、画像オブジェクトを作成します、0、サイズ、大きさ)は、完全な表示階調、300長さ300幅。
bool型:(!真== false)を==真
偽、btoi 0を返す場合// Bが真である場合、btoiリターン1
FUNCのbtoi(BのBOOL)INT { IF B { リターン 1 } 戻り 0 }
タイプは不変の文字列値、です。
(純粋なバイト)の文字列の内容がインデックスによって得ることができる、インデックスは、[]で書かれ、インデックスは0から始まります
文字列str(ニートバイト)の最初のバイト:STR [0]
「+」文字列連結演算子を使用して
strings.Index:前方部分文字列検索。
strings.LastIndex:リバース検索ストリング。
- 決定手紙かどうか:unicode.IsLetter(CH)
- unicode.IsDigit(CH):デジタルかどうかを決定します
- 空白記号かどうかを決定:unicode.IsSpace(CH)
囲碁の言語でポインタ(ポインタ)は、2つのコアコンセプトに分割することができます。
- ポインタ型は、ポインタ型データの変更を可能にするデータは、ポインタの種類、データをコピーせずに、ポインタを使用しない直接送信され、算術相殺することができます。
- スライス、元の要素、数及び容量素子組成物の開始位置へのポインタをポイントします。
ポインタのデフォルト値nilは、多くの場合、ポインタ変数ptrと略記します