golang1

変数

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:= 01

変数の初期化:

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 INTBOOL { 戻り [I] <PをP [J]}
 // 2つの要素値の切り替え 
(FUNC(PのIntSlice)スワップI 、 JのINT){P [I]、P [J] = P [J]、P [I]}

匿名変数:下線__

GetData()(FUNC INTINT ){
     リターン 100200 
} 
、{メイン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のINTINT {
    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(00 、サイズ、大きさ))

    // 反復各画素を通る
    ための 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のBOOLINT { IF B { リターン 1 } 戻り 0 }

 

タイプは不変の文字列値、です。

  (純粋なバイト)の文字列の内容がインデックスによって得ることができる、インデックスは、[]で書かれ、インデックスは0から始まります

  文字列str(ニートバイト)の最初のバイト:STR [0]

  「+」文字列連結演算子を使用して

  strings.Index:前方部分文字列検索。

  strings.LastIndex:リバース検索ストリング。

  • 決定手紙かどうか:unicode.IsLetter(CH)
  • unicode.IsDigit(CH):デジタルかどうかを決定します
  • 空白記号かどうかを決定:unicode.IsSpace(CH)

囲碁の言語でポインタ(ポインタ)は、2つのコアコンセプトに分割することができます。

  • ポインタ型は、ポインタ型データの変更を可能にするデータは、ポインタの種類、データをコピーせずに、ポインタを使用しない直接送信され、算術相殺することができます。
  • スライス、元の要素、数及び容量素子組成物の開始位置へのポインタをポイントします。

ポインタのデフォルト値nilは、多くの場合、ポインタ変数ptrと略記します

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/xuezhihao/p/11978326.html