Блоки кода с ограждением
Блоки кода с ограждением - это важная функция расширенного синтаксиса 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}
}