39 lines
		
	
	
		
			695 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			695 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								// For more tutorials: https://blog.learngoprogramming.com
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								// Copyright © 2018 Inanc Gumus
							 | 
						||
| 
								 | 
							
								// Learn Go Programming Course
							 | 
						||
| 
								 | 
							
								// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								package main
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import (
							 | 
						||
| 
								 | 
							
									"fmt"
							 | 
						||
| 
								 | 
							
									"os"
							 | 
						||
| 
								 | 
							
									"strings"
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const corpus = "lazy cat jumps again and again and again"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								func main() {
							 | 
						||
| 
								 | 
							
									words := strings.Fields(corpus)
							 | 
						||
| 
								 | 
							
									query := os.Args[1:]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									// after the inner loop breaks
							 | 
						||
| 
								 | 
							
									// this parent loop will look for the next queried word
							 | 
						||
| 
								 | 
							
									for _, q := range query {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// "break" will terminate this loop
							 | 
						||
| 
								 | 
							
										for i, w := range words {
							 | 
						||
| 
								 | 
							
											if q == w {
							 | 
						||
| 
								 | 
							
												fmt.Printf("#%-2d: %q\n", i+1, w)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
												// find the first word then break
							 | 
						||
| 
								 | 
							
												// the nested loop
							 | 
						||
| 
								 | 
							
												break
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 |