我的Go+语言初体验—— 一个Golang开发者的Go+初体验

简介: 文章目录写在前面1. 安装1.1 linux1.2 windows安装1.2.1 vscode 安装1.2.2 goland 安装2. Go与Go+的对比2.1 输出GoGo+2.2 字符串GoGo+2.3 循环GoGo+总结

文章目录

写在前面

1. 安装

1.1 linux

1.2 windows安装

1.2.1 vscode 安装

1.2.2 goland 安装

2. Go与Go+的对比

2.1 输出

Go

Go+

2.2 字符串

Go

Go+

2.3 循环

Go

Go+

总结

写在前面

大家好啊!我是FanOne,一名Go语言爱好者,在CSDN也写了一些关于Go语言的专栏文章。

image.png


最近七牛云带着他们家的Go+来CSDN社区征稿推广啦~ 我也很喜欢七牛云啊,经常用他们家的对象存储!

话不多说,让我们一起来揭开Go+神秘的面纱吧!


1. 安装

1.1 linux

如果网络好的同学,可以直接git clone https://github.com/goplus/gop.git,网络差的同学可以直接下载zip包。

image.png


进入这个包

image.png


执行./all.bash

image.png


安装成功啦~

image.png


1.2 windows安装

1.2.1 vscode 安装

windows下的好像只有vscode有go-plus插件,goland似乎还不支持,所以我们使用vscode来进行。


先安装go-plus插件

image.png


但是由于go插件需要的vscode版本高一点,所以版本低的同学可以升级一下vscode的版本。

image.png


升级之后就可以了。

image.png

发现.gop文件是高亮即可!

image.png


1.2.2 goland 安装

也可以直接在goland的终端安装go+

go get github.com/goplus/gop

image.png


进入到刚刚安装的地方

image.png


执行这一步

image.png


退回

image.png


安装

image.png


运行官方例子

image.png


执行一边命令


image.png


这里是没有返回值的!!


注意:这里的gop是没有mod命令的!所以我们要进入,你下载的goplus的gop中,运行这个all.bash!

image.png



不过注意!!windows用户不要直接all.bash!! 可以用记事本打开这个all.bash

image.png



直接跑这个命令!!


然后检验


image.png


2. Go与Go+的对比

安装完成之后,我们来看一下这两者语言的对比

笔者由于学业繁忙,并没有很仔细的对比,粗略对比了一下两者的对比


2.1 输出

Go

Go语言的输出,要导入fmt包中的printf,println,print的进行输出

package main
import "fmt"
func main() {
  fmt.Println("hello world")
}

Go+

而Go+的输出有点像python 2.x的语法,甚至不用加括号


从这点来看,Go+也确实用途也确实是用来做数据处理部分的

image.png



2.2 字符串

Go

定义string类型

func main() {
  var s string
  s = "hello world"
  fmt.Println(s)
}


Go+

我原来以为Go+会和python一样会把强类型转化成弱类型,没想到是保持了Go的强类型,点赞!

image.png



而我们一般使用for循环之后去遍历字符串或是列表,切片我们是这样去进行的

foo:="aaaa"
  for k,v:= range foo{
  fmt.Println(k,v)
  }


2.3 循环

Go

Go语言的循环比较少,连while语句都没有。

所以一般用for来代替

for{
  ...
}


Go+

而Go+的for循环就是一个非常python的存在。


这个操作我上一次见这个种1:10:3的情况还是在python。

for i := range 1:10:3 {    
  println i
}


同样的Go+的循环更加简洁,直接使用<-就可以完成对字符串或是对列表切片的遍历了。非常便捷啊!

foo:="aaaa"
for k,v <- foo {    
  println k,v
}

注意!!这个for循环是返回第一个符合要求的,并不会返回全部的

type st struct {
  zifu     string
  zhengshu int}
s := [st{"a", 1}, st{"b", 1}, st{"c", 2}]
t := {x for x <- s, x.zhengshu == 1} // 返回第一个println t  // {a 1}
for x <- s, x.zhengshu == 1 { // 循环返回全部
  println x // {a 1}
    // {b 1}}


还有一点

type st struct {
  zifu     string
  zhengshu int}
s := [st{"a", 1}, st{"b", 1}, st{"c", 2}]//{for x <- s, x.zhengshu == 1}返回的是bool
if ({for x <- s, x.zhengshu == 1}) { // 一定要加括号才能跑起来!
  println "1111"
  }
if {for x <- s, x.zhengshu == 1} { // 报错
  println "1111"
  }

总结

简单体验了一下Go+,感觉就是在Go的基础上包上Python的一些小语法,整体开发效率更高了。

但是Go+还是刚出生不久,还有很长的路要走,毕竟Go+生来就是为了数据科学的,而Python在这方面简直就是天花板的地位。不过Go+的运行速度和编译能力,还是一大优势,未来可期!

临近期末了,没有花很多时间研究Go+,下一篇博文我会用Go+写一个爬虫,并进行数据分析


相关文章
|
3天前
|
Go API 数据库
Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
本文介绍了 Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
16 4
|
3天前
|
缓存 监控 前端开发
在 Go 语言中实现 WebSocket 实时通信的应用,包括 WebSocket 的简介、Go 语言的优势、基本实现步骤、应用案例、注意事项及性能优化策略,旨在帮助开发者构建高效稳定的实时通信系统
本文深入探讨了在 Go 语言中实现 WebSocket 实时通信的应用,包括 WebSocket 的简介、Go 语言的优势、基本实现步骤、应用案例、注意事项及性能优化策略,旨在帮助开发者构建高效稳定的实时通信系统。
27 1
|
6天前
|
Go
go语言中的continue 语句
go语言中的continue 语句
16 3
|
7天前
|
安全 Go 调度
探索Go语言的并发模型:goroutine与channel
在这个快节奏的技术世界中,Go语言以其简洁的并发模型脱颖而出。本文将带你深入了解Go语言的goroutine和channel,这两个核心特性如何协同工作,以实现高效、简洁的并发编程。
|
8天前
|
Go
go语言中的 跳转语句
【11月更文挑战第4天】
17 4
|
8天前
|
JSON 安全 Go
Go语言中使用JWT鉴权、Token刷新完整示例,拿去直接用!
本文介绍了如何在 Go 语言中使用 Gin 框架实现 JWT 用户认证和安全保护。JWT(JSON Web Token)是一种轻量、高效的认证与授权解决方案,特别适合微服务架构。文章详细讲解了 JWT 的基本概念、结构以及如何在 Gin 中生成、解析和刷新 JWT。通过示例代码,展示了如何在实际项目中应用 JWT,确保用户身份验证和数据安全。完整代码可在 GitHub 仓库中查看。
40 1
|
1天前
|
存储 Go PHP
Go语言中的加解密利器:go-crypto库全解析
在软件开发中,数据安全和隐私保护至关重要。`go-crypto` 是一个专为 Golang 设计的加密解密工具库,支持 AES 和 RSA 等加密算法,帮助开发者轻松实现数据的加密和解密,保障数据传输和存储的安全性。本文将详细介绍 `go-crypto` 的安装、特性及应用实例。
11 0
|
2月前
|
Go
Golang语言之管道channel快速入门篇
这篇文章是关于Go语言中管道(channel)的快速入门教程,涵盖了管道的基本使用、有缓冲和无缓冲管道的区别、管道的关闭、遍历、协程和管道的协同工作、单向通道的使用以及select多路复用的详细案例和解释。
116 4
Golang语言之管道channel快速入门篇
|
2月前
|
Go
Golang语言文件操作快速入门篇
这篇文章是关于Go语言文件操作快速入门的教程,涵盖了文件的读取、写入、复制操作以及使用标准库中的ioutil、bufio、os等包进行文件操作的详细案例。
67 4
Golang语言文件操作快速入门篇
|
2月前
|
Go
Golang语言之gRPC程序设计示例
这篇文章是关于Golang语言使用gRPC进行程序设计的详细教程,涵盖了RPC协议的介绍、gRPC环境的搭建、Protocol Buffers的使用、gRPC服务的编写和通信示例。
104 3
Golang语言之gRPC程序设计示例
下一篇
无影云桌面