第二章のGo言語のデータ型

まず、整数型

  長さに応じて分割:INT8、INT16、INT32、int64モード

  符号なし整数の対応:UINT8、uint16の、UINT32、UINT64

  )(長さlenでオブジェクトを取得します

  アリー

    小数:

        VARのint A = 10

        fmt.Printf( "%d個の\ n" は、A)// 10

        fmt.Printf( "%Bを\ n" は、A)// 1010パーセントbはバイナリプレースホルダを表します

    進:

        VaRのB = 077あなた

        FMT、のprintf( "%Oの\ nを"、C)// FF

    六角:

        ここで、c int型= 0xFFで

        fmt.Printf( "%Xの\ nを"、C)// FF

        fmt.Printf( "%Xの\ nを"、C)// FF

  メモリアドレス:

    fmt.Printf( "%Pを\ n"、&A)// 0x00004c080プレースホルダ%pが進メモリアドレスを表し

  注:別のint型の加算と減算の間で変換できません、それは同じ型に変換する必要があります

  インタフェースの任意のタイプを変換することができます。

FUNC試験(){ 
    VARインターフェース{} // {}表示空的インターフェイス
    VAR BがINT = 100 
    VARのCのfloat32 = 1.2 
    VaRのD列= "こんにちは" 
    = B 
    fmt.Println( "="、A)/ / 100 
    = C 
    fmt.Println( "="、A)//1.2 
    A = Dの
    fmt.Println( "A ="、A)//ハロー
}

第二に、フロート

  タイプ:のfloat32のfloat64、デフォルト0によって定義されていないが、浮動小数点の不正確な、または最初の100×1000 *整数計画フローティング出力プレースホルダ%Fを算出してもよいです

第三に、ブールタイプ

  タイプ:真とFlaseがFlaseデフォルト言語を行くには、ブールブール値は操作に関与することはできません整数に強制することはできません%tで表される書式の他のタイプに変換することはできません

四、文字列型

  定義:内部実装は、UTF-8へのネイティブデータ型を表示されます

  表す文字列:

      「」//出力は、引用符の意義エスケープを倍増します

      ・//抗引用符の意味エスケープを無視

  一般的なエスケープ文字列:

      \ R&LT:キャリッジリターン(戻りラインヘッダ)\ N-(同じ列の次の行にスキップ)改行\ T:タブ\「:単一引用符\」:二重引用符\バックスラッシュ

  文字列の一般的な方法

+或fmt.Sprintf //拼接字符串
(1)
C = C + C 
fmt.Printf( "C =%S \ n"、C)
(2)
C = fmt.Sprintf( "%sの%sの"、C 、C)
fmt.Printf( "C =%S \ n"、C)

strings.Split //分割
インポート"ストリング" 
FUNC試験(){ 
    IP = "10.10.10.1; 192.168.1.1" 
    ipArray:=ストリング。スプリット(IP、 ";")
    fmt.Printf( "最初のIP:%Sの\ n"、ipArray [0])
    fmt.Printf( "第2のIP:%Sの\ n"、ipArray [1])
} 

strings.contains //判断是否包含
インポート"ストリング" 
FUNC試験(){ 
    IP = "10.10.10.1; 192.168.1.1" 
    結果:= strings.Contains(IP、 "10.10.10.1")
    FMT。ブール値を返す//のprintln(結果) 
} 

strings.HasPrefix / HasSuffix //接頭辞と接尾辞解析 
インポート"ストリング" 
FUNCテスト(){ 
    STR:= "https://www.baidu.com" 
    もしstrings.HasPrefix(STR、 "HTTP"){ 
        fmt.Println( "STRがHTTP URLである")
    }他{ 
        fmt.Println(「STR HTTP URLではありません")
    } 
    VAR最後ブール
    最後= strings.HasSuffix(STR、" COM」)
    fmt.Printf(最後の)//返回BOOL 
} 

strings.Index()/ lastIndexのは()//子串出现的位置
のインポート"文字列" 
FUNC試験(){ 
    STR:= "https://www.baidu.com" 
    インデックス:= strings.Index(STR、 "百度")//百度第一次出现的位置
    fmt.Printf(「STRインデックスである:%Dを\ n」、インデックス)
    インデックス= strings.LastIndex(STR、 "百度")// Baiduの出現への最後の
    fmt.Printf( "最後のBaiduのインデックス:%D \ N-"、インデックス)
}

strings.Join([]の文字列、9月列)//参加基準として区切り文字列に応じた動作を、配列の各要素は、再構成
FUNCテスト(){ 
    VAR strArr [] =文字列[] {文字列「10.10。 10.1 "" 11.11.11.2 "" 12.12.12.3 "} 
    ResultStr = strings.Join(strArr、"; ")
    fmt.Printf("結果=%S \ N- "mresultStr)//出力結果= 10.10.10.1。 11.11.11.2、12.12.12.3 
}

第五に、文字型

  定義:文字列と呼ばれる要素、文字「」を表し、そこUINT8(バイト)文字のASCIIコードを表す、それぞれ、入力;ルーン型、UTF-8文字の代表

主パッケージ
のインポート"FMT" 
FUNCメイン(){ 
    S1:= "golang" 
    C1:= 'G' 
    fmt.Println(S1、C1)// Golang 71の文字エンコーディング
    S2:= "中国" 
    C2:= 'で'を3 @文字を表す
    fmt.Println(S2、C2)//中国20013 
    S3を:= "言語を行く" 
    fmt.Println(LEN(S3))11 // 1バイト文字、中国の3バイト。
    私のために: = 0; iは(S3でlen < ); iは{//バイト++ 中国語歪み
        fmt.Printf( "%Cする\ n" 、S3 [I])//%Cの印刷文字を
    } 
    kについて、V:範囲= {S3 / /漢字を印刷することができる
        ( "%のD、%Cはfmt.Printf // kは、V、の\ n") バイトのインデックス番号を示します
    } 
}

  そして、UTF-8の文字列をキャスト

メインFUNC(){ 
    S1:= "大きな" 
    バイト1:= []バイト(S1)//バイト配列型に文字列を強制的に
    (bytes1)// [98 105 fmt.Println 103] それぞれに対応し、それぞれ文字
    バイト1 [0] = 'P' 
    fmt.Println(文字列(バイト1))// [112 105 103] 
    S1 =文字列(バイト1)//文字列型キャストにバイト配列
    fmt.Println(S1)
    S2 := "キャベツ" 
    runes2:= []ルーン(S2)
    runes2 [0] = '小さな' 
    fmt.Println(文字列(runes2)、LEN(runes2))
} 
//のみキャストは、割り当てを再ことができません

  文字列の反転動作

//英文
FUNCメイン(){ 
    S1:= "こんにちは" 
    BYTEARRAY:= []バイト(S1)// [ハロー] 
    //方法1 
    S2:= "" 
    私のために:= LEN(BYTEARRAY)-1; I> = 0; I - { 
        S2 = S2 +ストリング(BYTEARRAY [I])//のByteArray [I] - > olleh 
    } 
    fmt.Println(S2)
    //方法2 
    iについて:= 0; iは(LEN <BYTEARRAY )/ 2; I ++ { 
        BYTEARRAY [I]、のByteArray(LEN(BYTEARRAY)-1-I)= BYTEARRAY(長-1-I)、ByteArrayの[I] 
    } 
  fmt.Println(ストリング(BYTEARRAY))
} 

//中文
FUNCメイン(){ 
    STR:= "中文" 
    = []ルーン(STR):R []ルーン
    iについて:= 0;私がlen <(R)/ 2; I ++ { 
        TMP:= R [LEN(STR) - I-1]I ++ { 
        R [LEN(STR)-i-1] = sで[i]は
        、S [i]は、TMPを=
    } 
    fmt.Println(ストリング(R [I]))
}

シックス・ポインタ

 

七、配列array

 

八、SLICスライス

 

九、地図のハッシュテーブル

 

テン、構造体の構造

 

 

 

 

 

 

 

XI時刻と日付

  パケットタイプは、時間を表すために使用された時間を使ってtime.Time

  現在の時刻を取得します。

    今:= time.Now()現在の時間を取得します

    今:= time.Now()日()。

    今:= time.Now()分()。

    今:= time.Now()月()

    今:= time.Now()年()。

  フォーマット:

メインFUNC(){ 
    今:= time.Now() 
    (:今、 "$ Vの\ nを現在の時間")fmt.Printf 
    涙:= now.Year()
    月:= now.Month()
    日:=今。日()
    時間:= now.Hour()
    分:= now.Minute()
    送信:= now.Second()
    fmt.Printf( "%02d-%02d-%02d-%02d-%02d-%02D" 、年、月、日、時、分、送信)
}

  タイマー

メインFUNC(){ 
    ティッカー:(5 * time.Second)関数は、一度行う、請求time.Tick = //各5S 
    = {範囲ティッカー:Iため
        fmt.Printf( "%V \ N-"、I)
        関数()
    } 
}

  フォーマット

メインFUNC(){ 
    今:= Time.now()
    fmt.Println(now.Format( "2006年2月1日15時04分"))
    fmt.Println(now.Format(「2006年1月2日15時04分"))
    fmt.Println(now.Format(" 2006年1月2日「))
} 
//フォーマットを変更することができ、時間が2006102 15:04でなければなりません

  計算プログラムの実行時間

FUNCメイン(){ 
    開始:= time.Now()UnixNano()。
    私のために:= 0; iが10 <; I ++ { 
        time.Sleep(time.Millisecond)
    } 
    。終了:= time.Now()UnixNano()
    コスト:=(終了-開始)/ 1000000 //微秒化成秒
    fmt.Printf( "%のVN"、コスト)
}

  

 

おすすめ

転載: www.cnblogs.com/parallel-Y/p/11311603.html