Golang は高速、効率的、安全なプログラミング言語として、文字列処理に便利なメソッドを多数提供していますが、その中でも文字スライスの使用は非常に重要です。文字スライスとは、文字列が複数の文字部分に分割され、各文字に独立してアクセスできることを意味します。これは文字列処理において非常に実用的です。この記事では、golang における文字スライスの応用について紹介します。
Golang では、文字スライスは次のように定義されます。
var slice []Type
このうち、Type は Golang でサポートされている任意の型を使用できます。たとえば、int、float64、string、bool などです。文字スライスでは、通常、次のように定義される文字列型の文字スライスが使用されます。
var strSlice []string
文字スライスを作成するには、次の 2 つの方法があります。 make 関数と直接代入の方法を使用します:
//使用 make 函数创建 var strSlice []string = make([]string, 3) //直接赋值方式创建 var strSlice2 []string = []string{"hello", "world"}
このうち、make 関数を使用して文字スライスを作成するには、2 つのパラメータを渡す必要があります。最初のパラメータはスライスの長さで、2 番目のパラメータはスライスの長さです。スライスの容量 容量の定義 スライスの基礎となる配列のサイズ。容量が指定されていない場合、長さと容量はデフォルトでゼロになります。
文字スライスの要素は動的に追加または削除できます。要素を追加するには append 関数を使用し、スライス構文 (slice[:index) ] スライス [インデックス 1:]) は要素を削除します。
//在字符切片的末尾添加一个元素 strSlice = append(strSlice, "hello") //在字符切片的指定位置插入一个元素 strSlice = append(strSlice[:1], append([]string{"world"}, strSlice[1:]...)...) //删除字符切片的指定元素 strSlice = append(strSlice[:2], strSlice[3:]...)
このうち、append 関数を使用すると、文字スライスの末尾に 1 つ以上の要素を追加できます。構文は次のとおりです。多くの場合、スライス構文を使用して追加できます。 :
slice = append(slice, elem1, elem2, elem3)
文字スライス内の要素を削除する場合は、スライス構文を使用して、削除する要素に対応する添え字を取り出し、新しいスライスを生成する必要があります接続操作を通じて、指定された要素を削除します。
文字スライスのスプライスとコピーslice = append(slice, []T{elem1, elem2, elem3}...)
このうち、結合操作では、append 関数を使用して、あるスライスを別のスライスの末尾に直接追加します。同時に、append という構文にも注意してください。 (slice1、slice2...) 3 つのドットは、不特定の数のスライス要素を表します。
コピー操作では copy 関数を使用します。これには、ターゲット スライスとソース スライスの 2 つのパラメーターを渡す必要があります。
文字スライスのトラバーサル//字符切片的拼接 slice1 := []string{"hello", "world"} slice2 := []string{"golang", "is", "awesome"} slice3 := append(slice1, slice2...) //字符切片的复制 slice4 := make([]string, len(slice1)) copy(slice4, slice1)
上記の 2 つの走査方法は、ほとんどのニーズを満たすことができます。 range キーワードを使用してトラバースする場合、取得されるインデックスと値は、各要素のインデックスと値に固有のものになる可能性があります。
文字スライスのアプリケーション6.1 文字列連結操作
文字列連結操作は、文字スライスの最も一般的に使用されるアプリケーション シナリオの 1 つです。たとえば、複数の文字列を 1 つの文字列に連結するには、strings.Join を使用できます。 function :
//for 循环遍历 for i := 0; i < len(strSlice); i++ { fmt.Println(strSlice[i]) } //range 关键字遍历 for index, value := range strSlice { fmt.Println(index, value) }
6.2 コマンド ライン パラメータの処理
Golang は、os パッケージを通じてコマンド ライン パラメータにアクセスする方法を提供します。os.Args を使用して、すべてのコマンド ライン パラメータを含む文字スライスを取得します。表示:
strSlice := []string{"hello", "world"} str := strings.Join(strSlice, ", ") fmt.Println(str) // output: "hello, world"
上記のコードは、現在のプログラムの実行中にすべてのコマンド ライン パラメーターを出力します。
6.3 文字列の分割
Golang は、文字列を処理するための strings パッケージを提供します。strings.Split 関数は、指定された区切り文字に基づいて文字列を複数の部分文字列に分割し、文字スライスに保存できます。 ##
for index, value := range os.Args { fmt.Printf("args[%d]=%s\n", index, value) }上記のコードは、hello、world、golang の 3 つの分割文字列を出力します。
概要
以上がgolangの文字スライスの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。