funcmyAtoi2(strstring)int{//empty stringiflen(str)==0{return0}index,sign,result:=0,1,0//remove spacefori:=0;i<len(str);i++{ifstr[i]==' '{index++}else{break}}//handle signifstr[index]=='+'||str[index]=='-'{ifstr[index]=='-'{sign=-1}index++}//Convert number and avoid overflowfori:=index;i<len(str);i++{digit:=int(str[i]-'0')ifdigit<0||digit>9{break}ifsign==1{ifmath.MaxInt32/10==result||math.MaxInt32/10<result&&math.MaxInt32%10<digit{returnmath.MaxInt32}}else{if(math.MaxInt32/10==result||math.MaxInt32/10<result)&&digit>8{returnmath.MinInt32}}result=result*10+digitindex++}returnresult*sign}