Golang go/scanner.Scanner.Scan() function examples
package go/scanner
Scan scans the next token and returns the token position, the token, and its literal string if applicable. The source end is indicated by token.EOF.
Golang go/scanner.Scanner.Scan() function usage examples
Example 1:
var s scanner.Scanner
pos, tok, lit = s.Scan()
if tok != token.IDENT || (lit != "true" && lit != "false") {
fmt.Println("expected boolean value")
}
Example 2: (from http://golang.org/pkg/go/scanner/#Scanner.Scan )
package main
import (
"fmt"
"go/scanner"
"go/token"
)
func main() {
// src is the input that we want to tokenize.
src := []byte("cos(x) + 1i*sin(x) // Euler")
// Initialize the scanner.
var s scanner.Scanner
fset := token.NewFileSet() // positions are relative to fset
file := fset.AddFile("", fset.Base(), len(src)) // register input "file"
s.Init(file, src, nil /* no error handler */, scanner.ScanComments)
// Repeated calls to Scan yield the token sequence found in the input.
for {
pos, tok, lit := s.Scan()
if tok == token.EOF {
break
}
fmt.Printf("%s\t%s\t%q\n", fset.Position(pos), tok, lit)
}
}
Reference :
Advertisement
Something interesting
Tutorials
+12k Golang : Decompress zlib file example
+6.1k Golang : How to write backslash in string?
+15.8k Golang : Get digits from integer before and after given position example
+10.5k RPM : error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
+11.1k Golang : Simple image viewer with Go-GTK
+27.4k Golang : Convert CSV data to JSON format and save to file
+6.8k Golang : Join lines with certain suffix symbol example
+11.6k Golang : Concurrency and goroutine example
+24.6k Golang : How to print rune, unicode, utf-8 and non-ASCII CJK(Chinese/Japanese/Korean) characters?
+7.4k Golang : Individual and total number of words counter example
+13.4k Golang : Get constant name from value
+11.1k Golang : Read until certain character to break for loop