func calculate(s string) int {
var ans int
var nums []int
PreSign := '+'
num := 0
for i, c := range s {
isDigit := '0' <= c && c <= '9'
if isDigit {
num = num * 10 + int(c - '0')
}
if !isDigit && s[i] != ' ' || i == len(s) - 1 {
switch PreSign {
case '+':
nums = append(nums, num)
case '-':
nums = append(nums, -num)
case '*':
nums[len(nums)-1] *= num
default:
nums[len(nums)-1] /= num
}
PreSign = c
num = 0
}
}
for _, v := range nums {
ans += v
}
return ans
}