代码高亮功能测试文章

这是一篇用于测试代码高亮功能的文章。以下是各种编程语言的代码示例:

PHP 代码示例

JavaScript 代码示例

/**
 * 异步获取用户数据
 * @param {number} userId - 用户ID
 * @returns {Promise} 用户数据
 */
async function getUserData(userId) {
    try {
        const response = await fetch(`/api/users/${userId}`);
        
        if (!response.ok) {
            throw new Error(`HTTP 错误!状态:${response.status}`);
        }
        
        const userData = await response.json();
        return userData;
        
    } catch (error) {
        console.error("获取用户数据失败:", error);
        return null;
    }
}

// 使用示例
getUserData(123).then(user => {
    if (user) {
        console.log(`用户名:${user.name}`);
        console.log(`邮箱:${user.email}`);
    }
});

Python 代码示例

import asyncio
from datetime import datetime
from typing import List, Dict

class TaskManager:
    """任务管理器类"""
    
    def __init__(self, name: str):
        self.name = name
        self.tasks: List[Dict] = []
    
    def add_task(self, title: str, priority: int = 1) -> int:
        """添加新任务"""
        task = {
            "id": len(self.tasks) + 1,
            "title": title,
            "priority": priority,
            "created_at": datetime.now().isoformat(),
            "completed": False
        }
        self.tasks.append(task)
        return task["id"]
    
    def get_pending_tasks(self) -> List[Dict]:
        """获取待完成任务列表"""
        return [t for t in self.tasks if not t["completed"]]

# 使用示例
manager = TaskManager("我的任务")
manager.add_task("学习 Python", 2)
manager.add_task("测试代码高亮", 1)

print(f"待办任务数:{len(manager.get_pending_tasks())}")

SQL 代码示例

-- 创建用户表
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    email VARCHAR(100) NOT NULL UNIQUE,
    password_hash VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    status ENUM("active", "inactive", "banned") DEFAULT "active",
    INDEX idx_username (username),
    INDEX idx_email (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 查询活跃用户
SELECT 
    u.id,
    u.username,
    u.email,
    COUNT(p.id) AS post_count
FROM users u
LEFT JOIN posts p ON u.id = p.user_id
WHERE u.status = "active"
GROUP BY u.id
ORDER BY post_count DESC
LIMIT 10;

如果代码块右上角没有显示"复制"按钮,请刷新页面。如果仍有问题,请检查浏览器控制台是否有错误信息。

Posted in 未分类