Strings and Text Processing
Contains and Prefix
The strings package checks whether text contains or starts with another string.
text check
Contains and prefix checks turn text rules into boolean values.
Contains and Prefix
contains_prefix.go
Replay: real traced execution (multi-file project)
package main
import (
"fmt"
"strings"
)
func main() {
var domain = "docs.egtry.dev"
hasEgtry := strings.Contains(domain, "egtry")
isDocs := strings.HasPrefix(domain, "docs")
fmt.Println("domain=", domain)
fmt.Println("hasEgtry=", hasEgtry)
fmt.Println("isDocs=", isDocs)
}
package main
import (
"fmt"
"strings"
)
func main() {
var domain = "api.egtry.dev"
hasEgtry := strings.Contains(domain, "egtry")
isDocs := strings.HasPrefix(domain, "docs")
fmt.Println("domain=", domain)
fmt.Println("hasEgtry=", hasEgtry)
fmt.Println("isDocs=", isDocs)
}
package main
import (
"fmt"
"strings"
)
func main() {
var domain = "example.com"
hasEgtry := strings.Contains(domain, "egtry")
isDocs := strings.HasPrefix(domain, "docs")
fmt.Println("domain=", domain)
fmt.Println("hasEgtry=", hasEgtry)
fmt.Println("isDocs=", isDocs)
}
domain ← "docs.egtry.dev", hasEgtry ← true, isDocs ← true
8func main() {9 var domain→ "docs.egtry.dev" = "docs.egtry.dev" //@domain="api.egtry.dev", "example.com"10 hasEgtry→ true := strings.Contains(domain"docs.egtry.dev", "egtry")11 isDocs→ true := strings.HasPrefix(domain"docs.egtry.dev", "docs")1213 fmt.Println("domain=", domain"docs.egtry.dev")14 fmt.Println("hasEgtry=", hasEgtrytrue)15 fmt.Println("isDocs=", isDocstrue)16}outputdomain= docs.egtry.dev hasEgtry= true isDocs= true
domain ← "api.egtry.dev", hasEgtry ← true, isDocs ← false
8func main() {9 var domain→ "api.egtry.dev" = "api.egtry.dev"10 hasEgtry→ true := strings.Contains(domain"api.egtry.dev", "egtry")11 isDocs→ false := strings.HasPrefix(domain"api.egtry.dev", "docs")1213 fmt.Println("domain=", domain"api.egtry.dev")14 fmt.Println("hasEgtry=", hasEgtrytrue)15 fmt.Println("isDocs=", isDocsfalse)16}outputdomain= api.egtry.dev hasEgtry= true isDocs= false
domain ← "example.com", hasEgtry ← false, isDocs ← false
8func main() {9 var domain→ "example.com" = "example.com"10 hasEgtry→ false := strings.Contains(domain"example.com", "egtry")11 isDocs→ false := strings.HasPrefix(domain"example.com", "docs")1213 fmt.Println("domain=", domain"example.com")14 fmt.Println("hasEgtry=", hasEgtryfalse)15 fmt.Println("isDocs=", isDocsfalse)16}outputdomain= example.com hasEgtry= false isDocs= false