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

简介: 我的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)官网具备在线调试功能,还是很友好的,虽然有点卡。


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


相关文章
|
1天前
|
开发框架 安全 中间件
Go语言开发小技巧&易错点100例(十二)
Go语言开发小技巧&易错点100例(十二)
13 1
|
1天前
|
Go
Go语言开发小技巧&易错点100例(十一)
Go语言开发小技巧&易错点100例(十一)
4 0
|
1天前
|
Go 开发者
Go语言开发小技巧&易错点100例(九)
Go语言开发小技巧&易错点100例(九)
6 0
|
1天前
|
设计模式 缓存 JavaScript
盘点Go语言中那些酷酷的语法
盘点Go语言中那些酷酷的语法
6 0
|
1天前
|
JSON Go 数据格式
Go语言开发小技巧&易错点100例(八)
Go语言开发小技巧&易错点100例(八)
5 0
|
存储 Java 程序员
Java程序员快速入门Go语言
这篇文章帮助Java程序员快速入门Go语言。 转载至 开源中国社区。 http://www.oschina.net 本文将以一个有代表性的例子为开始,以此让Java程序员对Go语言有个初步认识,随后将详细的描述Go语言的各个构成模块,最后以一个例子来讲解Go语言与Java语言的不同点。
1286 0
|
1天前
|
消息中间件 IDE Go
Go语言开发小技巧&易错点100例(七)
Go语言开发小技巧&易错点100例(七)
5 0
|
1天前
|
运维 监控 Go
Go语言开发小技巧&易错点100例(六)
Go语言开发小技巧&易错点100例(六)
4 0
|
1天前
|
Java Go
Go语言开发小技巧&易错点100例(五)
Go语言开发小技巧&易错点100例(五)
4 0
|
1天前
|
Go
Go语言开发小技巧&易错点100例(四)
Go语言开发小技巧&易错点100例(四)
5 0

相关产品

  • 云迁移中心