utils.go 800 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package main
  2. import (
  3. "bufio"
  4. "strconv"
  5. "strings"
  6. )
  7. // ReadInt ...
  8. func ReadInt(s *bufio.Scanner) int {
  9. s.Scan()
  10. i, _ := strconv.ParseInt(s.Text(), 10, 32)
  11. return int(i)
  12. }
  13. // ReadInt64 ...
  14. func ReadInt64(s *bufio.Scanner) int64 {
  15. s.Scan()
  16. i, _ := strconv.ParseInt(s.Text(), 10, 64)
  17. return i
  18. }
  19. // ReadInts ...
  20. func ReadInts(s *bufio.Scanner) []int {
  21. s.Scan()
  22. strs := strings.Split(s.Text(), " ")
  23. nums := make([]int, len(strs))
  24. for i, str := range strs {
  25. num, _ := strconv.ParseInt(str, 10, 32)
  26. nums[i] = int(num)
  27. }
  28. return nums
  29. }
  30. // ReadInt64s ...
  31. func ReadInt64s(s *bufio.Scanner) []int64 {
  32. s.Scan()
  33. strs := strings.Split(s.Text(), " ")
  34. nums := make([]int64, len(strs))
  35. for i, str := range strs {
  36. num, _ := strconv.ParseInt(str, 10, 64)
  37. nums[i] = num
  38. }
  39. return nums
  40. }