ホームページ > バックエンド開発 > Golang > Golang データ変換スキルと例の共有

Golang データ変換スキルと例の共有

PHPz
リリース: 2023-12-23 10:01:18
オリジナル
945 人が閲覧しました

Golang データ変換スキルと例の共有

Golang のデータ変換スキルと例を共有します

はじめに:
Golang は、さまざまなデータ型と形式変換を処理する強力なプログラミング言語です。多くの便利な機能を提供します。そしてテクニック。この記事では、Golang でのデータ変換に関する実践的なヒントをいくつか紹介し、具体的なコード例を示します。

1. 文字列と整数の間の変換
Golang では、文字列と整数の間の変換は頻繁に発生する要件です。 Golang は strconv パッケージを提供しており、その Atoi() 関数と Itoa() 関数で文字列と整数を相互に簡単に変換できます。

  1. 文字列を整数に変換
    サンプルコード:
package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "123"
    num, err := strconv.Atoi(str)
    if err != nil {
        fmt.Println("转换失败:", err)
        return
    }
    fmt.Println("转换后的整数:", num)
}
ログイン後にコピー

実行結果:
変換された整数: 123

  1. 整数をstring
    サンプルコード:
package main

import (
    "fmt"
    "strconv"
)

func main() {
    num := 123
    str := strconv.Itoa(num)
    fmt.Println("转换后的字符串:", str)
}
ログイン後にコピー

実行結果:
変換後の文字列: 123

2. 文字列と浮動小数点数の変換
文字列と整数に加えて、Golang は文字列と浮動小数点数の間の変換関数も提供します。これは、価格計算や正確な計算が必要なその他のシナリオで非常に便利な機能です。

    #文字列を浮動小数点数に変換
  1. サンプルコード:
  2. package main
    
    import (
        "fmt"
        "strconv"
    )
    
    func main() {
        str := "3.14"
        num, err := strconv.ParseFloat(str, 64)
        if err != nil {
            fmt.Println("转换失败:", err)
            return
        }
        fmt.Println("转换后的浮点数:", num)
    }
    ログイン後にコピー
実行結果:

変換された浮動小数点数:3.14

    浮動小数点数を文字列に変換
  1. サンプルコード:
  2. package main
    
    import (
        "fmt"
        "strconv"
    )
    
    func main() {
        num := 3.14
        str := strconv.FormatFloat(num, 'f', -1, 64)
        fmt.Println("转换后的字符串:", str)
    }
    ログイン後にコピー
実行結果:

変換された文字列:3.14

3. スライスと文字列間の変換

変換スライスと文字列の間の操作も、Golang の一般的な操作の 1 つです。文字列をスライスに変換して変更したり、スライスを出力またはストレージのコンテンツとして文字列に変換したりできます。

    文字列をスライスに変換
  1. サンプルコード:
  2. package main
    
    import (
        "fmt"
    )
    
    func main() {
        str := "hello"
        slice := []byte(str)
        slice[0] = 'H'
        fmt.Println("转换后的切片:", slice)
    }
    ログイン後にコピー
実行結果:

変換後のスライス:[72 101 108 108 111]

    文字列へのスライス
  1. サンプル コード:
  2. package main
    
    import (
        "fmt"
    )
    
    func main() {
        slice := []byte{'H', 'e', 'l', 'l', 'o'}
        str := string(slice)
        fmt.Println("转换后的字符串:", str)
    }
    ログイン後にコピー
実行結果:

変換された文字列:Hello

IV.その他のデータ型の変換

In文字列、整数、浮動小数点数間の変換に加えて、Golang は、ブール値と文字列間の変換、時刻と文字列の変換など、他のデータ型間の変換関数も提供します。

    ブール値と文字列間の変換
  1. サンプルコード:
  2. package main
    
    import (
        "fmt"
        "strconv"
    )
    
    func main() {
        b := true
        str := strconv.FormatBool(b)
        fmt.Println("转换后的字符串:", str)
    
        str2 := "true"
        bool, err := strconv.ParseBool(str2)
        if err != nil {
            fmt.Println("转换失败:", err)
            return
        }
        fmt.Println("转换后的bool:", bool)
    }
    ログイン後にコピー
実行結果:

変換された文字列: true
変換結果のブール値: true

    時刻と文字列の変換
  1. サンプルコード:
  2. package main
    
    import (
        "fmt"
        "time"
    )
    
    func main() {
        now := time.Now()
        str := now.Format("2006-01-02 15:04:05")
        fmt.Println("转换后的字符串:", str)
    
        str2 := "2022-01-01 12:00:00"
        time, err := time.Parse("2006-01-02 15:04:05", str2)
        if err != nil {
            fmt.Println("转换失败:", err)
            return
        }
        fmt.Println("转换后的时间:", time)
    }
    ログイン後にコピー
    実行結果:

    変換後の文字列: 2022-06-20 09:54:36
    変換後の時間: 2022-01-01 12:00:00 0000 UTC

    概要:

    この記事では、Golang でのデータ変換の方法を紹介します。いくつかの実用的なヒントと具体的なコード例が提供されます。これらの手法により、異なるデータ型間で簡単に変換でき、コードの柔軟性と再利用性が向上します。読者の方々がこれらのテクニックを実際の開発に活用して、作業効率を向上させていただければ幸いです。

    以上がGolang データ変換スキルと例の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート