C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
For: We use a for-loop to count spaces. We decrement the count by 1 (meaning one less word is remaining to be counted).
ForReturn: We return a substring to the current index when the required number of spaces are found. We do not include the trailing space.
Golang program that gets first words
package main
import "fmt"
func firstWords(value string, count int) string {
// Loop over all indexes in the string.
for i := range value {
// If we encounter a space, reduce the count.
if value[i] == ' ' {
count -= 1
// When no more words required, return a substring.
if count == 0 {
return value[0:i]
}
}
}
// Return the entire string.
return value
}
func main() {
value := "there are many reasons"
// Test our first words method.
result1 := firstWords(value, 2)
fmt.Println("[" + result1 + "]")
result2 := firstWords(value, 3)
fmt.Println(result2)
result3 := firstWords(value, 100)
fmt.Println(result3)
}
Output
[there are]
there are many
there are many reasons