我的Go+语言初体验——Go+简单应用—选择排序

Muti-Agent 社区初级贡献者
优质创作者: 操作系统技术领域
领域专家: 算法与数据结构技术领域
2021-12-04 09:32:51

“我的Go+语言初体验” | 征文活动进行中......

点击阅读原文:我的Go+语言初体验——Go+简单应用—选择排序

目录

一、什么是 Go+ ?

二、安装配置 Go+

2.1 安装配置 Go

2.2 安装配置 Go+

三、Go+ 实践

四、总结


本文带大家来体验一下 Go+,主要包括 Ubuntu 20.04 环境下 Go+ 的安装和配置以及 Go+ 的简单应用实战-选择排序。赶紧来看下吧!

一、什么是 Go+ ?

Go+ 于 2020 年 7 月正式发布,2021 年 10 月推出 1.0 版本,它是七牛云 CEO 许式伟发明的一门可用于工程、STEM 教育和数据科学的编程语言。

Go+ 主要面向三个领域,分别是工程、STEM教育、科学数据,具有更简单、更强大、兼容性更强的特点。

🔶🔶🔶🔶🔶 我是华丽的分割线 🔶🔶🔶🔶🔶

二、安装配置 Go+

下面的安装配置是在 Ubuntu 20.04 环境下进行的,如下所示:

linuxy@linuxy:~$ uname -a
Linux linuxy 5.11.0-41-generic #45~20.04.1-Ubuntu SMP Wed Nov 10 10:20:10 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
linuxy@linuxy:~$

2.1 安装配置 Go

安装 Go+ 之前,需要先安装好 Go 的环境,依次执行如下命令。

linuxy@linuxy:~$ wget https://studygolang.com/dl/golang/go1.17.5.linux-amd64.tar.gz
linuxy@linuxy:~$ tar -zxvf go1.17.5.linux-amd64.tar.gz

如果想下载别的版本,可以到中文官网下载即可。

注意:建议用最新的 Go 版本包,刚开始使用1.15.x 的版本会有问题。

然后,修改配置文件 /etc/profile,添加如下内容:

export GOROOT=/usr/local/go     # Golong 安装目录
export GOPATH=$HOME/goProject   # 将来的工作目录
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin # 将 $GOROOT 和 $GOPATH 加入到 PATH中,方便使用
export GOPROXY=https://goproxy.io # 设置代理

执行如下命令:

linuxy@linuxy:~$ source /etc/profile

 最后,查看一下 go 的版本,输出版本信息表示安装成功,如下所示:

linuxy@linuxy:~$ go version
go version go1.17.3 linux/amd64
linuxy@linuxy:~$ 

Go 安装完成。 

2.2 安装配置 Go+

首先,克隆 Go+ 仓库代码,然后,进入 gop 目录,安装即可,如下所示:

git clone https://github.com/goplus/gop.git
cd gop
 
# On linux run:
./all.bash
# On Windows run:
all.bat

安装完成后,可以将 gop 的 bin 目录添加到 PATH 中,修改 /etc/profile 文件,在文件结尾添加如下内容:

export PATH=$PATH:{Go+的bin目录}

用真实的 Go+ bin 目录绝对路径替换 {Go+的bin目录} 即可。

修改后,加载配置,执行如下命令:

linuxy@linuxy:~$ source /etc/profile

 最后,执行如下命令,查看 Go+ 版本,如下所示:

linuxy@linuxy:~$ gop version
gop v1.0.32-24-g3ed0beb8 linux/amd64
linuxy@linuxy:~$ 

好了,Go+ 安装完成,下面赶紧来使用一下吧!

 

🔶🔶🔶🔶🔶 我是华丽的分割线 🔶🔶🔶🔶🔶

 

三、Go+ 实践

下面就来实践一下,使用 Go+ 实现选择排序,代码如下所示:

a := []int{23, 43, 14, 52, 46, 72, 67}
for i := 0;	i < len(a) - 1; i++ {
	Min := i;
    for j := i+1; j < len(a); j++ {
        if a[j] < a[Min] {
            Min = j
        }
    }
    if Min != i {
		a[i], a[Min] = a[Min], a[i]
    }
}
print a

将上述代码放入 main.gop 文件中,执行如下命令即可:

gop run main.gop

输出结果为:

[14 23 43 46 52 67 72]

 

🔶🔶🔶🔶🔶 我是华丽的分割线 🔶🔶🔶🔶🔶

 

四、总结

从安装配置到使用体验,整体使用体验不错,语法更加简单优雅,更趋向于低代码开发,赶紧动手体验下吧!

“我的Go+语言初体验” | 征文活动进行中......

...全文
1995 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pentral0311 2021-12-14
  • 打赏
  • 举报
回复 1

这个C这么像

Muti-Agent 社区初级贡献者 2021-12-15
  • 举报
回复 1
@pentral0311
ShirleyQueen321 2021-12-08
  • 打赏
  • 举报
回复 2
👍👍👍
Muti-Agent 社区初级贡献者 2021-12-11
  • 举报
回复 1
@ShirleyQueen321
内容概要:本文介绍了一个基于冠豪猪优化算法(CPO)的无人机三维路径规划项目,利用Python实现了在复杂三维环境中为无人机规划安全、高效、低能耗飞行路径的完整解决方案。项目涵盖空间环境建模、无人机动力学约束、路径编码、多目标代价函数设计以及CPO算法的核心实现。通过体素网格建模、动态障碍物处理、路径平滑技术和多约束融合机制,系统能够在高维、密集障碍环境下快速搜索出满足飞行可行性、安全性与能效最优的路径,并支持在线重规划以适应动态环境变化。文中还提供了关键模块的代码示例,包括环境建模、路径评估和CPO优化流程。; 适合人群:具备一定Python编程基础和优化算法基础知识,从事无人机、智能机器人、路径规划或智能优化算法研究的相关科研人员与工程技术人员,尤其适合研究生及有一定工作经验的研发工程师。; 使用场景及目标:①应用于复杂三维环境下的无人机自主导航与避障;②研究智能优化算法(如CPO)在路径规划中的实际部署与性能优化;③实现多目标(路径最短、能耗最低、安全性最高)耦合条件下的工程化路径求解;④构建可扩展的智能无人系统决策框架。; 阅读建议:建议结合文中模型架构与代码示例进行实践运行,重点关注目标函数设计、CPO算法改进策略与约束处理机制,宜在仿真环境中测试不同场景以深入理解算法行为与系统鲁棒性。

1,089

社区成员

发帖
与我相关
我的任务
社区描述
Go+ 官方开发者社区。我们希望向广大的开发者和数据科学家介绍 Go+ 的定位和意义,并邀请更多开发者一起贡献代码、共建 Go+ 生态。 Go+ 官网:https://goplus.org/
其他 企业社区
社区管理员
  • Go+
  • 杨东杰
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

本社区为 Go+ 官方开发者社区。我们希望向广大的开发者和数据科学家介绍 Go+ 的定位和意义,并邀请更多开发者一起贡献代码、共建 Go+ 生态。

Go+ 官网:https://goplus.org/
GitHub地址:https://github.com/goplus/gop

试试用AI创作助手写篇文章吧