mojo初体验

这篇具有很好参考价值的文章主要介绍了mojo初体验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

mojo初体验

试用地址

https://www.modular.com/get-started
mojo初体验,mojo,mojo

与python基础语法很相似。

变量定义

  • let定义不可变变量
  • var定义可变变量

参数可变性和所有权

下面是一个基本的函数:

fn add(x: Int, y: Int) -> Int:
    return x + y

请注意,上面的add()不会修改x or y,它只会读取值。事实上,正如所写的,函数无法修改它们,因为默认情况下fn参数是不可变的引用。

就参数约定而言,这称为“借用”,尽管这是函数的默认设置fn,但您可以使用borrowed如下声明将其明确化(其行为与直接使用add()完全相同):

fn add(borrowed x: Int, borrowed y: Int) -> Int:
    return x + y

如果您希望参数可变,则需要声明参数约定为inout。这意味着对函数内部参数所做的更改在函数外部可见。
例如,该函数可以修改原始变量:

fn add_inout(inout x: Int, inout y: Int) -> Int:
    x += 1
    y += 1
    return x + y

var a = 1
var b = 2
c = add_inout(a, b)
print(a)
print(b)
print(c)

2
3
5
另一种选择是将参数声明为owned,这为函数提供了该值的完全所有权(它是可变的并保证唯一)。这样,函数可以修改值,而不用担心影响函数外部的变量。例如:

fn set_fire(owned text: String) -> String:
    text += "🔥"
    return text

fn mojo():
    let a: String = "mojo"
    let b = set_fire(a)
    print(a)
    print(b)

mojo()

mojo
mojo🔥
在这种情况下,Mojo 会复制一份a并将其作为text参数传递。原来的a字符串仍然存在且完好。

总结:
borrowed 为默认,参数不可变
inout 参数可变
owned 参数可变,保留原参数

Structures

Mojo 中struct与 Python 中class类似:它们都支持方法、字段、运算符重载、元编程装饰器等。

后续

The Mojo🔥 SDK coming to your desktop soon!
九月初Mojo应该可以脱离playground在本地执行,目前已加入白名单,等待中。文章来源地址https://www.toymoban.com/news/detail-696895.html

到了这里,关于mojo初体验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一、MOJO环境部署和安装

    以Ubuntu系统为例。 安装mojo-CLI curl https://get.modular.com | MODULAR_AUTH=mut_fe303dc5ca504bc4867a1db20d897fd8 sh - 安装mojo SDK modular auth mojo modular auth install mojo 查看mojo版本号 mojo --version 输入mojo指令,进入交互编程窗口

    2024年02月01日
    浏览(36)
  • MOJO中导入python模块

    例如,有一个名为mypython.py的Python文件 在MOJO文件中导入并使用上述python文件方法: 在Mojo中使用Python时不需要担心内存管理问题。一切都可以正常工作,因为Mojo从一开始就是为Python设计的。

    2024年01月18日
    浏览(33)
  • 全新编程语言【Mojo】诞生

    Mojo 是一种新的编程语言,它通过将最佳的 Python 语法与系统编程和元编程相结合,弥合了研究与生产之间的差距。 使用 Mojo,您可以编写比 C 更快的可移植代码,并与 Python 生态系统无缝互操作。 大牛Chris Lattner 说起 Chris Lattner,大家一定不陌生。这位编译器大神,曾经领导

    2024年02月06日
    浏览(42)
  • Linear Regression in mojo with NDBuffer

    The linear regression is the simplest machine learning algorithm. In this article I will use mojo NDBuffer to implement a simple linear regression algorithm from scratch. I will use NDArray class which was developed by in the previous article. First import the necessary libs and NDArray definition: Let’s assume we want to figure out this function: y = W ⋅

    2024年02月07日
    浏览(61)
  • chromium通信系统-ipcz系统(十一)-mojo binding

    关于mojo binding的官方文档为mojo docs。 由于比较复杂,这里只做简单源码分析。 我们知道要实现rpc,必须实现客户端和服务端。 mojo 实现了一套领域语言,通过领域语言描述接口和数据, 再通过特有编译器编译成c++代码。 这个过程会生成Mojo对象, 我们以content/common/child_pro

    2024年02月01日
    浏览(38)
  • Mojo:比 Python 快 35000 倍的 AI 编程语言

    Mojo是一门刚刚发布的面向 AI 开发人员的编程语言。 Mojo 被设计为 Python 的超集,所以如果你已经掌握了 Python,学习 Mojo 会很容易。关键是 Mojo 将 Python 的易用性与 C 语言的性能相结合,速度比 Python 快 35000 倍!让你鱼与熊掌兼得。 如果您对 AI 感兴趣并且已经了解 Python,那么

    2024年02月04日
    浏览(88)
  • AI人工智能Mojo语言:AI的新编程语言

    推荐:使用 NSDT场景编辑器 快速搭建3D应用场景 Mojo的主要功能包括: 类似Python的语法和动态类型使Python开发人员易于学习Mojo,因为Python是现代AI / ML开发背后的主要编程语言。 使用Mojo,您可以导入和使用任何Python库,确保与Python的完全互操作性。 它支持实时 (JIT) 和提前

    2024年02月09日
    浏览(56)
  • 试图替代 Python 的下一代AI编程语言:Mojo

    Mojo 是一种创新的编程语言,结合了 Python 的可用性和 C 的性能。它旨在成为人工智能 (AI) 开发的首选语言,因为它允许开发人员编写既快速又易于阅读的代码。 这里有一些关键点, Modular 是一种新的编程语言,旨在应对整个 AI 堆栈的编程挑战。 Mojo 旨在成为一种创新且可扩

    2024年02月09日
    浏览(51)
  • 【人工智能】下一代 AI 编程语言:Mojo 编程手册

    目录 Why Mojo🔥 为什么选择Mojo 魔术🔥 ? Mojo as a member of the Python familyMojo 作为 Python 家族的一员 

    2024年02月09日
    浏览(75)
  • Python 潮流周刊#44:Mojo 本周开源了;AI 学会生成音乐了

    △△请给“ Python猫 ”加星标 ,以免错过文章推送 你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿 [1] 。另有电报频道 [2] 作为副刊,补充发布更加丰富的资讯,欢迎关注。 特别提醒: 本期周刊赠书 5 本《明解Python算

    2024年04月10日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包