Skip to content

Блоки кода с ограждением

Блоки кода с ограждением - это важная функция расширенного синтаксиса Markdown, предоставляющая более мощные возможности отображения кода, включая подсветку синтаксиса, нумерацию строк и другие дополнительные функции.

Базовые блоки кода с ограждением

Три обратные кавычки

Создание блока кода с помощью трех обратных кавычек ```:

markdown
```
function hello() {
    console.log("Hello, World!");
}
```

Результат отображения

function hello() {
    console.log("Hello, World!");
}

Три волны

Также можно создавать блоки кода с помощью трех волн ~~~:

markdown
~~~
function hello() {
    console.log("Hello, World!");
}
~~~

Результат отображения

function hello() {
    console.log("Hello, World!");
}

Подсветка синтаксиса

Указание языка программирования

Включение подсветки синтаксиса путем указания имени языка после открывающих кавычек:

markdown
```javascript
function fibonacci(n) {
    if (n <= 1) return n;
    return fibonacci(n - 1) + fibonacci(n - 2);
}

console.log(fibonacci(10)); // 55
```

Результат отображения

javascript
function fibonacci(n) {
    if (n <= 1) return n;
    return fibonacci(n - 1) + fibonacci(n - 2);
}

console.log(fibonacci(10)); // 55

Примеры для распространенных языков

Python

markdown
```python
def quicksort(arr):
    if len(arr) <= 1:
        return arr
    
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    
    return quicksort(left) + middle + quicksort(right)

# Пример использования
numbers = [3, 6, 8, 10, 1, 2, 1]
print(quicksort(numbers))
```

Результат отображения

python
def quicksort(arr):
    if len(arr) <= 1:
        return arr
    
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    
    return quicksort(left) + middle + quicksort(right)

# Пример использования
numbers = [3, 6, 8, 10, 1, 2, 1]
print(quicksort(numbers))

TypeScript

markdown
```typescript
interface User {
    id: number;
    name: string;
    email: string;
    isActive: boolean;
}

class UserService {
    private users: User[] = [];

    async createUser(userData: Omit<User, 'id'>): Promise<User> {
        const newUser: User = {
            id: Date.now(),
            ...userData
        };
        
        this.users.push(newUser);
        return newUser;
    }

    async getUserById(id: number): Promise<User | undefined> {
        return this.users.find(user => user.id === id);
    }
}
```

Результат отображения

typescript
interface User {
    id: number;
    name: string;
    email: string;
    isActive: boolean;
}

class UserService {
    private users: User[] = [];

    async createUser(userData: Omit<User, 'id'>): Promise<User> {
        const newUser: User = {
            id: Date.now(),
            ...userData
        };
        
        this.users.push(newUser);
        return newUser;
    }

    async getUserById(id: number): Promise<User | undefined> {
        return this.users.find(user => user.id === id);
    }
}

Go

markdown
```go
package main

import (
    "fmt"
    "net/http"
    "log"
)

type Server struct {
    port string
}

func NewServer(port string) *Server {
    return &Server{port: port}
}
```

Результат отображения

go
package main

import (
    "fmt"
    "net/http"
    "log"
)

type Server struct {
    port string
}

func NewServer(port string) *Server {
    return &Server{port: port}
}

Build by www.markdownlang.com