Для обновлений проверьте здесь .
Шаги по установке MongoDB Community Edition на Ubuntu 16.04
Запустите эти команды в терминале (Ctrl + Alt + T) :
Чтобы удалить уже установленный MongoDB
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
Затем запустите с помощью следующих команд:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org
Чтобы запустить MongoDB run:
sudo service mongod start
Для меня я вижу разницу только в тех местах, где они используются.
Параметр, помеченный ключевым словом inout
, позволяет передавать ваше значение любому подобному методу в качестве ссылки
func square(inout num: Int) {
num = num * num
}
В отличие от этого, метод, помеченный ключевым словом mutating
, используется в области видимости и позволяет Вы можете изменить само значение этого метода
extension Int {
mutating func square() {
self = self * self
}
}
inout: - Это означает, что изменение локальной переменной также изменит передаваемые параметры. Без этого переданные параметры останутся неизменными.
Мутирование: -Свойства типов значений не могут быть изменены в его методах экземпляра по умолчанию. Чтобы изменить свойства типа значения, вы должны использовать ключевое слово mutating в методе экземпляра.
Методы экземпляров типов значений не могут изменять свойства типа значения (или самого значения), если они не помечены как mutating
.
Функции любого вида не могут изменять свои параметры (и имеют распространение распространяется за пределы функции), если эти параметры не отмечены как inout
.
Они делают похожую работу, но в разных контекстах.