Go strings.HasPrefix()関数

1178 ワード

目次
説明
構文
パラメータ
戻り値
使用例
ソース分析
説明
strings.HasPrefix()関数を使用して、文字列が指定した接頭辞で始まるかどうかを検出します.
 
構文
stringsパッケージのインポートが必要です
strings.Hasprefix(s, prefix)

 
パラメータ
パラメータ
説明
コメント
s
検出対象文字列
文字列タイプのパラメータ
prefix
指定した接頭辞
文字列タイプのパラメータ
 
 
戻り値
ブール値を返します.文字列sがprefixで始まる場合はtrueを返し、そうでない場合はfalseを返します.
 
使用例
package main

import (
	"fmt"
	"strings"
)

func main() {
	flavor := "hw:numa_notes"

	if strings.HasPrefix(flavor, "hw") {
		fmt.Println("It's a 'hw' flavor.")
	} else {
		fmt.Println("Unknown flavor.")
	}
}

実行結果
It's a 'hw' flavor.

 
ソース分析
次はgo 1.12 HasPrefix()関数のソースコードです.
s長がprefixより小さい場合、HasPrefixはFalseを返すことがわかる.
sの長さがprefixより小さくない場合、sの区間[0,len(prefix))のサブ文字列はprefixに等しく、HasPrefix()はTrueを返す.
// HasPrefix tests whether the string s begins with prefix.
func HasPrefix(s, prefix string) bool {
	return len(s) >= len(prefix) && s[0:len(prefix)] == prefix
}