-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathstrings.go
40 lines (31 loc) · 842 Bytes
/
strings.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package main
import (
"fmt"
)
func printLine() {
fmt.Println("\n\n----------------\n")
}
func main() {
printLine()
s := `Hello,
world`
fmt.Printf("%v - %T", s, s)
printLine()
s = "Hello, world (éòâ中文)" //ASCII é sem os caracteres especiais - UTF8 é com
fmt.Printf("%v - %T", s, s)
printLine()
sb := []byte(s) // sliced bytes - pode dar ruim com caracteres especiais (tem mais de um byte)
fmt.Printf("%v - %T", sb, sb)
printLine()
for _, v := range sb {
fmt.Printf("%b - %v - %T - %#U - %#x\n", v, v, v, v, v)
}
printLine()
for _, v := range s {
fmt.Printf("%b - %v - %T - %#U - %#x\n", v, v, v, v, v)
}
printLine()
for i := 0; i < len(s); i++ { // aqui tbm separa em bytes, então não reconhece caracteres especiais
fmt.Printf("%b - %v - %T - %#U - %#x\n", s[i], s[i], s[i], s[i], s[i])
}
}