code: func extractCountryCode(fullNumber, nationalNumber *builder.Builder) int {
  	fullNumBytes := fullNumber.Bytes()
  	if len(fullNumBytes) == 0 || fullNumBytes[0] == '0' {
  		// Country codes do not begin with a '0'.
  		return 0
  	}
  	var (
  		potentialCountryCode int
  		numberLength         = len(fullNumBytes)
  	)
  	for i := 1; i <= MAX_LENGTH_COUNTRY_CODE && i <= numberLength; i++ {
  		potentialCountryCode, _ = strconv.Atoi(string(fullNumBytes[0:i]))
  		if _, ok := CountryCodeToRegion[potentialCountryCode]; ok {
  			nationalNumber.Write(fullNumBytes[i:])
  			return potentialCountryCode
  		}
  	}
  	return 0
  }
docs: // Gets an AsYouTypeFormatter for the specific region.
  // TODO(ttacon): uncomment once we do asyoutypeformatter.go
  //public AsYouTypeFormatter getAsYouTypeFormatter(String regionCode) {
  //    return new AsYouTypeFormatter(regionCode);
  //}
  // Extracts country calling code from fullNumber, returns it and places
  // the remaining number in nationalNumber. It assumes that the leading plus
  // sign or IDD has already been removed. Returns 0 if fullNumber doesn't
  // start with a valid country calling code, and leaves nationalNumber
  // unmodified.