small change css
parent
e223135501
commit
68c7390bd2
|
@ -31,7 +31,6 @@ main > div {
|
|||
box-sizing: border-box;
|
||||
border: 1px solid;
|
||||
width: 100%;
|
||||
color: black;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
|
|
@ -21,11 +21,11 @@
|
|||
</div>
|
||||
<div>
|
||||
<p>
|
||||
this site is written in Go without using frameworks, hosting is <a href="https://htk.ge" target="_blank">hostetski</a>, domain bought for the price of a can of beer
|
||||
this site is written in Go, hosting is <a href="https://htk.ge" target="_blank">hostetski</a>, domain bought for the price of a can of beer
|
||||
</p>
|
||||
<p>
|
||||
<code>2024 - now</code>
|
||||
</p>
|
||||
</div>
|
||||
</footer>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Это тестовый пост
|
||||
[Этот](/test/) пост был *написан* в файле **формата** .md.
|
||||
|
||||
Тестирую систему загрузки постов на сайт, исходно находящихся в .md.
|
||||
Тестирую систему загрузки постов на сайт, исходно находящихся в markdown.
|
||||
|
||||
Используемый фреймворк: [github.com/gomarkdown/markdown](https://github.com/gomarkdown/markdown)
|
|
@ -0,0 +1,12 @@
|
|||
# Как же все таки изменить байты строки в Go?
|
||||
Просто захотелось чуть чуть поиграться с пакетом unsafe в Go.
|
||||
|
||||
Строки (тип string) в Go являются *immutable*, то есть изменять их нельзя. Ну вообще конечно можно, но не напрямую.
|
||||
|
||||
Строка в Go под капотом является структурой вида: **указатель на данные, длина данных.** И первое, что приходит в голову чтобы изменить строку - добраться до поля с указателем, прибавить к нему индекс байта который надо поменять, разыменовать полученный адрес и что то ему присвоить.
|
||||
|
||||
Но в реальности все не так просто и при попытке что то положить по вычисленному адресу программа упадет с *segmentation fault (SIGSEGV)*. Чтобы этого избежать, предварительно надо выдать права на запись в страничку памяти где находится целевая строка. Сделать это можно через системные вызовы.
|
||||
|
||||
Код с пояснениями можно скачать [тут](https://git.hikan.ru/serr/unsafe-change-string-go)
|
||||
|
||||
Тестил на **go version go1.22.2 linux/amd64**
|
Loading…
Reference in New Issue