fix: coding style and file format for chapter 7.

This commit is contained in:
Bo-Yi Wu
2017-02-11 12:26:05 +08:00
parent d9041c7fc3
commit e6d601d3a1
15 changed files with 375 additions and 375 deletions

View File

@@ -1,41 +1,42 @@
package main
import "fmt"
func reverse(s string) string {
runes := []rune(s)
n, h := len(runes), len(runes)/2
for i:= 0; i < h; i ++ {
runes[i], runes[n-1-i] = runes[n-1-i], runes[i]
}
return string(runes)
}
func main() {
// reverse a string:
str := "Google"
sl := []byte(str)
var rev [100]byte
j := 0
for i:=len(sl)-1; i >= 0; i-- {
rev[j] = sl[i]
j++
}
str_rev := string(rev[:])
fmt.Printf("The reversed string is -%s-\n", str_rev)
// variant: "in place" using swapping
str2 := "Google"
sl2 := []byte(str2)
for i, j := 0, len(sl2) - 1; i < j; i, j = i+1, j-1 {
sl2[i], sl2[j] = sl2[j], sl2[i]
}
fmt.Printf("The reversed string is -%s-\n", string(sl2))
// variant: using [] int for runes (necessary for Unicode-strings!):
s := "My Test String!"
fmt.Println(s, " --> ", reverse(s))
}
/* Output:
The reversed string is -elgooG-
The reversed string is -elgooG-
My Test String! --> !gnirtS tseT yM
*/
package main
import "fmt"
func reverse(s string) string {
runes := []rune(s)
n, h := len(runes), len(runes)/2
for i := 0; i < h; i++ {
runes[i], runes[n-1-i] = runes[n-1-i], runes[i]
}
return string(runes)
}
func main() {
// reverse a string:
str := "Google"
sl := []byte(str)
var rev [100]byte
j := 0
for i := len(sl) - 1; i >= 0; i-- {
rev[j] = sl[i]
j++
}
str_rev := string(rev[:])
fmt.Printf("The reversed string is -%s-\n", str_rev)
// variant: "in place" using swapping
str2 := "Google"
sl2 := []byte(str2)
for i, j := 0, len(sl2)-1; i < j; i, j = i+1, j-1 {
sl2[i], sl2[j] = sl2[j], sl2[i]
}
fmt.Printf("The reversed string is -%s-\n", string(sl2))
// variant: using [] int for runes (necessary for Unicode-strings!):
s := "My Test String!"
fmt.Println(s, " --> ", reverse(s))
}
/* Output:
The reversed string is -elgooG-
The reversed string is -elgooG-
My Test String! --> !gnirtS tseT yM
*/