I before E except after C: Difference between revisions

Add Go example.
(Add Go example.)
Line 229:
end function plausibility
end program cia
</lang>
 
=={{header|Go}}==
<lang go>package main
 
import (
"bufio"
"fmt"
"log"
"os"
"strings"
)
 
func main() {
f, err := os.Open("unixdict.txt")
if err != nil {
log.Fatalln(err)
}
defer f.Close()
 
s := bufio.NewScanner(f)
var cie, ie int
var cei, ei int
for s.Scan() {
line := s.Text()
if strings.Contains(line, "cie") {
cie++
} else if strings.Contains(line, "ie") {
ie++
}
if strings.Contains(line, "cei") {
cei++
} else if strings.Contains(line, "ei") {
ei++
}
}
err = s.Err()
if err != nil {
log.Fatalln(err)
}
 
check(ie, cie, "I before E when not preceded by C")
check(cei, ei, "I before E when not preceded by C")
}
 
// check checks if a statement is plausible. Something is plausible if a is more
// than two times b.
func check(a, b int, s string) {
if a > b*2 {
fmt.Printf("%q is plausible.\n", s)
} else {
fmt.Printf("%q is implausible.\n", s)
}
}
</lang>
 
U
12

edits