range.go 991 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package main
  2. import (
  3. "fmt"
  4. "strings"
  5. )
  6. var pow = []int{1, 2, 4, 8, 16, 32, 64, 128}
  7. var str = "hello"
  8. var map1 = make(map[int]float32)
  9. func main() {
  10. // 遍历数组
  11. for i, v := range pow {
  12. fmt.Printf("2**%d = %d\n", i, v)
  13. }
  14. fmt.Printf("\n%s\n\n", strings.Repeat("*", 100))
  15. // 遍历字符串
  16. for i, v := range str {
  17. fmt.Printf("遍历字符串, 下标 %d, 值 %c\n", i, v)
  18. }
  19. map1[1] = 1.0
  20. map1[2] = 2.0
  21. map1[3] = 3.0
  22. map1[4] = 4.0
  23. fmt.Printf("\n%s\n\n", strings.Repeat("*", 100))
  24. // 遍历 map, 读取 k, v
  25. for k, v := range map1 {
  26. fmt.Printf("k = %d - v = %f\n", k, v)
  27. }
  28. // 遍历 map, 只读 k
  29. for k := range map1 {
  30. fmt.Printf("k = %d\n", k)
  31. }
  32. // 遍历 map, 只读 v
  33. for _, v := range map1 {
  34. fmt.Printf("v = %f\n", v)
  35. }
  36. fmt.Printf("\n%s\n\n", strings.Repeat("*", 100))
  37. // 遍历 channel
  38. ch_length := 10
  39. ch := make(chan int, ch_length)
  40. for i := 0; i < ch_length; i++ {
  41. ch <- i
  42. }
  43. close(ch)
  44. for v := range ch {
  45. fmt.Println(v)
  46. }
  47. }