【Mojo】[中] Mojo编程语言入门指南

2025-06-13 04:47:12   世界杯中国广告

本文共计2893字,预计阅读时间6分钟

目录

什么是 Mojo?

为何能让你爱上它.

为什么Mojo旁边总有一个🔥?

如何在Linux上安装Mojo?

系统要求:

安装 Modular CLI 和 Mojo SDK

Hello World

在REPL上运行Mojo

运行Mojo文件

Mojo语言基础

1. 语法和语义:

2. 函数:

3. 变量:

4. 结构:

5. Python 集成:

下一步是什么

Mojo 作为面向全体AI开发者的一门全新编程语言,与 Python 一样简单,与 C 语言一样快速。

什么是 Mojo?

Mojo 是一门由 Modular 团队开发的编程语言,旨在简化AI和机器学习基础架构。它提供强大的编译时元编程,支持各种加速器,并且与 Python 完全兼容。

Mojo 将 Python 的易用性和 C 的性能结合起来,实现了AI硬件无与伦比的可编程性和AI模型的可扩展性。

Mojo 的目标是创建一种统一的语言,在保留与 Python 兼容性的同时,使AI应用的开发更加高效。

为何能让你爱上它.

如果你是一名开发人员,喜欢人工智能,喜欢速度,喜欢简单,那么你一定会爱上 Mojo。

以下是它的亮点:

可用性和可编程性: 一语定万物。

用Python编写代码,(通过各种优化方法提升性能)以达到接近底层硬件的性能。编写适用于众多低级AI硬件的程序。 对C++或CUDA无要求。

性能: 释放Python性能。

充分利用硬件的性能,包括多核心、向量单元和异构加速器,并使用世界上最先进的编译器和异构运行时期间,在无复杂性的条件下实现与C++和CUDA相当的性能。

互用性: 访问Python全生态系统

与Python生态系统实现真正的互用性。无缝使用包括像Numpy和Matplotlib等开发库,用Mojo自定义你的代码。

为什么Mojo旁边总有一个🔥?

因为它很火!

当然,最主要的还是因为这个emoji是它的文件拓展名。你可以将你的代码保存为

hello.🔥 又或 hello.mojo

来自Mojo团队:

我们将Mojo与火焰emoji🔥结合,作为一种有趣的视觉传达方式,向用户表达Mojo赋予他们的力量——比以往更快、更高效地开发。我们也相信,现在世界范围内能够处理以Unicode编码的拓展名,当然,你也可以使用.mojo拓展名。 :)

如何在Linux上安装Mojo?

目前,Mojo仅在本地Ubuntu Linux系统上可用。目前,Windows 和 Mac 用户可以使用 WSL,容器或远程Linux系统上找到解决方法.

系统要求:

在开始前,请确保您的系统满足以下要求:

Ubuntu 20.04 及 以上版本

x86-64 CPU 和 至少 4GiB RAM

Python 3.8 - 3.10

g++ 或 clang++ 编译器 (在Ubuntu上预装有g++)

安装 Modular CLI 和 Mojo SDK

Modular CLI类似于包管理器,用于安装和更新Mojo。

安装Modular CLI:

curl https://get.modular.com | \

MODULAR_AUTH=mut_fe303dc5ca504bc4867a1db20d897fd8 \

sh -

Mojo SDK包含有您进行本地Mojo应用开发所需的一切,这其中有Mojo标准库和Mojo命令行界面(CLI)。Mojo CLI可以启动REPL编程环境,编译和运行Mojo源文件,格式化源文件等等。

安装Mojo SDK:

modular install mojo

Hello World

在用Mojo编写第一个程序前,必须在我们的shell中设置好 MODULAR_HOME 和 PATH 变量。

echo 'export MODULAR_HOME="$HOME/.modular"' >> ~/.bashrc

echo 'export PATH="$MODULAR_HOME/pkg/packages.modular.com_mojo/bin:$PATH"' >> ~/.bashrc

source ~/.bashrc

在REPL上运行Mojo

发起REPL会话前,需在终端上输入 mojo 并按 Enter 键。

然后输入 print("Hello, world!") 并按两次 Enter 键 (需要用一个空行来说明表达式的结束)。

就是这样!举个例子:

$ mojo

Welcome to Mojo! 🔥

Expressions are delimited by a blank line.

Type `:mojo help` for further assistance.

1> print("Hello, world!")

2.

Hello, world!

您可以在REPL中编写任意量的代码,按 Enter 键便可以进入新一行并继续编写代码。当你想让Mojo评估代码时,按 Enter 键两次即可。如果有需要打印的内容,Mojo会将其输出并将提示信息反馈给你。

REPL主要用于短期实验,因为代码不会被保存。因此,若您想编写真正的程序时,需要在一个后缀名为 .mojo 的源文件中编写代码。

运行Mojo文件

首先,编写Mojo代码并执行它:

创建一个名为 hello.mojo (或 hello.🔥),并添加下列代码:

fn main():

print("Hello, world!")

这就是你所需要的。保存文件并返回你的终端。

现在,使用 mojo 命令运行它:

mojo hello.mojo

应当输出下列消息:

Hello, world!

Mojo语言基础

该语言需要注意的几点:

1. 语法和语义:

Mojo支持Python的语法和语义,使用换行和缩进来表示代码块。它具有大多数Python的控制流特性。

2. 函数:

在Mojo中,函数可以使用 fn (强类型、内存安全) 或 def (Python风格)来声明。 fn 函数强制性类型安全操作。

3. 变量:

在Mojo中,变量可以使用 var(可变)或 let (不可变)声明。声明变量的类型是可选的。

实例:

fn do_math():

let x: Int = 1

let y = 2

print(x + y)

do_math()

4. 结构:

Mojo允许创建高级抽象的结构。Mojo中的 struct 结构与 Python 中的 class 类似。但结构是静态的,不允许动态调度。

实例:

struct MyPair:

var first: Int

var second: Int

fn __init__(inout self, first: Int, second: Int):

self.first = first

self.second = second

fn dump(self):

print(self.first, self.second)

用法:

let mine = MyPair(2, 4)

mine.dump()

5. Python 集成:

Mojo提供了一种机制,可以将Python模块原封不动地导入,利用好现有的Python代码。

实例:

from python import Python

let np = Python.import_module("numpy")

ar = np.arange(15).reshape(3, 5)

print(ar)

print(ar.shape)

[[ 0 1 2 3 4]

[ 5 6 7 8 9]

[10 11 12 13 14]]

(3, 5)

Mojo旨在将系统编程的优势与Python的易用性、灵活性相结合。

下一步是什么

对于使用VS Code的用户,您可以安装 Mojo 拓展 ,以获取语法高亮、代码补全及诊断等功能。

您还可以使用基于Web的 Mojo Playground 来进行 Mojo 实验。

想了解更多关于Mojo的信息,可以 阅读相关文档。

您也可以随时在 Discord 和 Mojo 社区上开展交流。

-

Mojo🔥 是一门面向AI开发者的未来编程语言。

momo遍地走:年轻人为何喜欢匿名社交?
微信星标朋友是什么意思有什么用?如何设置和在哪里找星标朋友?