我的Go+语言初体验——环境搭建篇(直男程序员的真实体验)

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 我的Go+语言初体验——环境搭建篇(直男程序员的真实体验)

前言

当我第一眼看到这个活动的时候,吸引我的不是所谓的奖励,而是活动文章中的“填补了国人开发者在数据科学领域的空白”,很有志气的一句话,我喜欢。我是个直男,也有代码洁癖,所以我会按照本心写真实体验,如果本文的语言太锋利伤害到了他人的话,只能说句抱歉,但是没打算改。


先说一下我对编程语言的看法,随着工作年限的增长,越来越觉着每个语言都有着其内核特点。目前最火的语言无不将自己的内核特点发挥到极致,就不一一举例了。其次不同的语言适用的场景也不同,有的适用于算法、有的适用于通讯、有的适用于工程。越火的语言,越是在自己擅长的场景中,有着自己庞大的生态圈、社交圈。你可以在各类网站上找到解决问题的办法,前人栽树后人乘凉。所以编程语言在我看来,总是带有着时代性,时代需要什么场景,什么语言自然会火起来。


初看到Go+语言的时候,我首先是有点失望的。因为顾名思义,Go+的内核还是go语言。go语言的强大自不必说,所以我上面说的内核特点一下子让我少了很多期待。凡事不能看表面,按照自己的习惯正式开始Go+语言的初体验。


官网体验

发一下Go+的官网地址:GoPlus - The Go+ language for engineering, STEM education, and data science


image.png


我找了一圈没有找到中文切换的按钮,后来我征询了一下微信群,貌似就没有中文官网。这里我提前吐槽一句,既然是国人的语言,为什么官网不先做中文的呢?


Go+语言项目github地址:https://github.com/goplus/gop


image.png


还是英文的,官方给出了Go+的定位 ,静态类型的语言、完全兼容go语言、更好的可读性。


在安装Go+之前,还是要点出Go+官网的功能点,可以在线编译语言,点击Try Go+,会弹出在线调试窗口。


image.png


环境搭建

首先需要安装Go语言,这个是前提条件,怎么装Go就不多说了。下面直接装Go+。


官方给出的安装步骤只有短短3句,花了我不少时间找其他资料和微信群沟通,官方资料如下:


image.png


1、按照这个流程安装下来,不出意外你会碰到和我下面一样报错。


image.png


解决方法在cmd中执行下面两行命令:


go env -w GO111MODULE=on

go env -w GOPROXY=https://goproxy.io,direct

安装成功后执行gop命令验证一下:


image.png


2、创建workspace后,开始第一个项目。我创建了一个test项目文件夹,在里面创建了一个test.gop文件。编写代码如下:


package main

import "fmt"

func main()  {

fmt.Println("hello world!")

}

使用命令:gop run test.gop,会发现如下报错:

image.png



经过多方求证,由于我是使用独立的workspace需要初始化一些必要的文件,需要在文件夹test下执行如下命令:


gop mod init test

go get github.com/goplus/gop/builtin

OK执行好了


image.png


3、vscodeIDE集成,需要安装goplus扩展插件。


image.png


打开项目后,在运行和调试中添加Node.js的配置,配置文件与项目结构如下。


image.png


launch.json文件内容如下:


// .vscode\launch.json
{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "gop run",
      "type": "node",
      "request": "launch",
      "runtimeExecutable": "gop",
      "cwd": "${workspaceFolder}",
      "program": "${file}",
      "runtimeArgs": [
        "run"
      ],
      "environment": [],
      "console": "integratedTerminal",
    }
  ]
}

执行下来没什么问题。


总结

目前我只是初体验了安装环境以及代码初步调试,还未对代码内容进行调试,下一篇会开始对go+语言部分进行调试。所以对目前已经体验的部分做一个总结。


缺点:


1)官网以及github项目均没有对中文进行支持,不太理解Go+对国人这两个字的理解,这点我要第一个说出来,希望后期团队可以支持中文支持。


2)安装Go+语言必须安装Go语言,这点我不太理解。一般来说衍生语言都会对应固定的版本号,不然假设我的go语言升级了版本,部分语法做了调整,而go+语言还未对该版本的语法支持,是不是我的Go+语言项目就无法运行了?所以我建议Go+可以将固定版本的Go语言一并打在安装包中,可以让使用者直接安装一个安装包即可进行编程,以后语言的版本升级也可以将Go语言同步升级,无需依赖外部的go语言环境。


3)初始化项目的命令可以在vscode的扩展插件进行支持,在编译运行过程中帮用户自动生成,减轻编译的复杂性。


4)官网很多语法的demo还未完善,建议逐步完善。现有在线调试案例过于简单,且不具备代表性。


优点:


1)官网具备在线调试功能,还是很友好的,虽然有点卡。


如果本文对你有用的话,点个赞吧,谢谢!


相关文章
|
9月前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
429 2
|
11月前
|
Cloud Native Go API
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
650 0
|
11月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
469 0
|
11月前
|
Cloud Native Java 中间件
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
503 0
|
11月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
777 0
|
编译器 Go
揭秘 Go 语言中空结构体的强大用法
Go 语言中的空结构体 `struct{}` 不包含任何字段,不占用内存空间。它在实际编程中有多种典型用法:1) 结合 map 实现集合(set)类型;2) 与 channel 搭配用于信号通知;3) 申请超大容量的 Slice 和 Array 以节省内存;4) 作为接口实现时明确表示不关注值。此外,需要注意的是,空结构体作为字段时可能会因内存对齐原因占用额外空间。建议将空结构体放在外层结构体的第一个字段以优化内存使用。
|
运维 监控 算法
监控局域网其他电脑:Go 语言迪杰斯特拉算法的高效应用
在信息化时代,监控局域网成为网络管理与安全防护的关键需求。本文探讨了迪杰斯特拉(Dijkstra)算法在监控局域网中的应用,通过计算最短路径优化数据传输和故障检测。文中提供了使用Go语言实现的代码例程,展示了如何高效地进行网络监控,确保局域网的稳定运行和数据安全。迪杰斯特拉算法能减少传输延迟和带宽消耗,及时发现并处理网络故障,适用于复杂网络环境下的管理和维护。
|
11月前
|
Cloud Native 安全 Java
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
651 1
|
开发框架 JSON 中间件
Go语言Web开发框架实践:路由、中间件、参数校验
Gin框架以其极简风格、强大路由管理、灵活中间件机制及参数绑定校验系统著称。本文详解其核心功能:1) 路由管理,支持分组与路径参数;2) 中间件机制,实现全局与局部控制;3) 参数绑定,涵盖多种来源;4) 结构体绑定与字段校验,确保数据合法性;5) 自定义校验器扩展功能;6) 统一错误处理提升用户体验。Gin以清晰模块化、流程可控及自动化校验等优势,成为开发者的优选工具。

热门文章

最新文章