データ構造とアルゴリズム(Golang実装)(7)Golang標準ライブラリの簡単な紹介

~~標準ライブラリを使用

1.ホイールの再発明を避ける

当局は、私たちが使用するための多くのライブラリを提供しています。それらは、バッグなどのパッケージ化されたホイールであり、fmtデータの印刷に何度も使用しています。

内部の実装を見ることができます:

package fmt

func Println(a ...interface{}) (n int, err error) {
    return Fprintln(os.Stdout, a...)
}

func Printf(format string, a ...interface{}) (n int, err error) {
    return Fprintf(os.Stdout, format, a...)
}

func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) {
    p := newPrinter()
    p.doPrintf(format, a)
    n, err = w.Write(p.buf)
    p.free()
    return
}

func Fprintln(w io.Writer, a ...interface{}) (n int, err error) {
    p := newPrinter()
    p.doPrintln(a)
    n, err = w.Write(p.buf)
    p.free()
    return
}

関数Printlnは直接印刷して折り返すためのものでありPrintf、関数は次のように出力をフォーマットするためのものです。

    // 打印一行空行
    fmt.Println()

    // 打印 4 5 6
    fmt.Println(4, 5, 6)

    // 占位符 %d 打印数字,\n换行
    fmt.Printf("%d\n", 2)

    // 占位符 %s 打印字符串,\n换行
    fmt.Printf("%s\n", "cat")

    // 占位符 %v或者%#v 打印任何类型,\n换行
    fmt.Printf("%#v,%v\n", "cat", 33)

    // 更多示例
    fmt.Printf("%s,%d,%s,%v,%#v\n", "cat", 2, "3", map[int]string{1: "s"}, map[int]string{1: "s"})

出力:

4 5 6
2
cat
"cat",33
cat,2,3,map[int]string{1:"s"}

関数Printfは別の関数を使用しFprintf関数Fprintf内で他の構造メソッドが呼び出されます

私たちが頻繁に使用するものについてfunc Printf(format string, a ...interface{})format、多くの変数を渡し、a ...interface{}必要な結果をコンソールに出力できます。など:

fmt.Printf("%s,%d,%s,%v,%#v\n", "cat", 2, "3", map[int]string{1: "s"}, map[int]string{1: "s"})

その中に%はプレースホルダーがあります。つまり、次の変数が1つずつ発生します。%sプレースホルダーの後の小文字は、プレースホルダー%dのタイプ、文字列プレースホルダー、数値タイプのプレースホルダー、%vまたは%#v不明なタイプのプレースホルダーを示します。これにより、タイプが自動的に判別#されて印刷され、さらに詳細な情報が印刷されます。印刷は折り返されないため、\n改行文字を使用して折り返す必要があります。

ある時点で、公式ライブラリまたは他のユーザーが作成したライブラリを使用できます。結局、ホイールの再構築には時間がかかります。

同時に、開発速度を向上させたい場合IDEIntegrated Development EnvironmentGoland(ネイティブサポートGolang)やIDEAソフトウェア(プラグインインストールが必要)などの(統合開発環境)をインストールすることをお勧めします。

2.まとめ

Golang言語のサブセットのみを学習しました。詳しく知りたい場合はdockerインストール後にターミナル開いてください

# 拉镜像
docker pull hunterhug/gotourzh

# 后台运行
docker run -d -p 9999:9999 hunterhug/gotourzh

ブラウザーを開き、127.0.0.19999と入力して、より包括的な学習を行います。

後者のアルゴリズム分析と実装をGolang例として使用します。

シリーズ記事エントリー

私は、スター陳思い、私が個人的に書かれているようこそ(Golangが達成)のデータ構造とアルゴリズムの記事で始まる、より親しみやすいGitBookを読むために

12件の元の記事を公開 賞賛0 訪問92

おすすめ

転載: blog.csdn.net/m0_46803965/article/details/105595033
おすすめ