8. 字符串转换整数 (atoi)

这道主要是需要考虑这个bad case
package mainimport ("math""fmt""strings")func myAtoi(str string) int {//去掉收尾空格str = strings.TrimSpace(str)result := 0sign := 1for i, v := range str {if v >= '0' && v <= '9' {result = result*10 + int(v-'0')} else if v == '-' && i == 0 {sign = -1} else if v == '+' && i == 0 {sign = 1} else {break}// 数值最大检测if result > math.MaxInt32 {if sign == -1 {return math.MinInt32}return math.MaxInt32}}return sign * result}func main() {fmt.Println(myAtoi("42"))fmt.Println(myAtoi( " -42"))fmt.Println(myAtoi("4193 with words"))fmt.Println(myAtoi("words and 987"))}
