Golang中strings.Contains和strings.ContainsAny的区别

试图构建一个运行http服务器的go程序的静态链接版本,并使用net包来确定和解析传入请求的IP地址。使用此构建语句:


CGO_ENABLED=0 go install -a -ldflags '-s' .

我的程序中的这个序言:


package main


import (

    "encoding/json"

    "errors"

    "fmt"

    "log"

    "net"

    "net/http"

    "path/filepath"

    "strings"


    "golang.org/x/blog/content/context/userip"


    "github.com/oschwald/maxminddb-golang"

)

这与 go 1.3 一起构建,生成静态链接程序,但不适用于 go 1.4.2。构建成功,但程序不是静态链接的。


在源代码中:


// Contains returns true if substr is within s.

func Contains(s, substr string) bool {

    return Index(s, substr) >= 0

}


// ContainsAny returns true if any Unicode code points in chars are within s.

func ContainsAny(s, chars string) bool {

    return IndexAny(s, chars) >= 0

}

唯一的区别似乎是substr和the Unicode code points in chars。我写了一些测试来测试它们。他们的行为似乎是相同的。我不明白什么时候使用哪个。


慕森王
浏览 1395回答 1
1回答

拉丁的传说

我认为两个功能是完全不同的。包含用于检测字符串是否包含子字符串。ContainsAny 用于检测字符串是否包含提供的字符串中的任何字符。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go