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

domain
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)
}
  1. 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
  1. 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
  1. 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