倒着遍历一遍,注意字符转换即可

package main

import (
	"bufio"
	"fmt"
	"os"
)

func main()  {
	var s string
	ans,ws := 0,1
	in := bufio.NewReader(os.Stdin)
	fmt.Fscan(in, &s)
	for i := len(s)-1; i>1; i-- {
		if s[i]>='A' {
			ans += (int(s[i])-55)*ws
		}else {
			ans += int(s[i]-'0')*ws
		}
        ws *= 16
	}
	fmt.Println(ans)
}