编辑代码

/**
 * 生成符合 UUID 格式的随机 ID
 * 示例输出: "A018D712-8A1D-4D5A-C792-1AC229F8B016"
 * @return 格式化后的 UUID 字符串
 */
String generateFormattedUUID() {
    // 生成标准 UUID
    UUID uuid = UUID.randomUUID()
    
    // 转换为字符串并去除分隔符
    String uuidStr = uuid.toString().replaceAll("-", "")
    
    // 确保字符串长度为32个字符
    if (uuidStr.length() < 32) {
        uuidStr = String.format("%-32s", uuidStr).replace(' ', '0')
    } else if (uuidStr.length() > 32) {
        uuidStr = uuidStr.substring(0, 32)
    }
    
    // 转换为大写
    uuidStr = uuidStr.toUpperCase()
    
    // 插入分隔符,格式化为8-4-4-4-12
    return "${uuidStr.substring(0, 8)}-${uuidStr.substring(8, 12)}-${uuidStr.substring(12, 16)}-${uuidStr.substring(16, 20)}-${uuidStr.substring(20, 32)}"
}

// 示例调用
println generateFormattedUUID() // 输出类似 "A018D712-8A1D-4D5A-C792-1AC229F8B016" 的字符串