我的Go+语言初体验——走进Go+语言

静Yu
全栈领域优质创作者
2021-12-01 23:08:27

[“我的Go+语言初体验” | 征文活动进行中......]
Go+基础知识

  引言


当敲下人生中的第一行代码,每一个程序员的梦想被点燃,他们希望用双手写出的“Hello, World”改变世界。

学习物理专业的许式伟是追寻代码力量的狂热派,用他自己的话说,“它能让你感觉在创造一个世界!”从金山实验室到盛大创新院,再到创立七牛云,许式伟“折腾”了包含Java、Erlang、C++、Go在内的不下4、5门编程语言,为的是追寻代码的力量和更高阶的文明密码。

如今,他将自己的“终极”选择给了Go+,这也让许式伟在七牛云CEO的身份之外有了新角色——Go+语言发明人。


 基础知识


1.经典入门编程


我相信大部分程序员接触到的第一个编程语句应该都是输出"hello world",
学习Go+语言我们首先也看一下"hello world"如何输出。

 1. 第一种类型:命令样式


println "Hello world"


编程输出样式如图:

 

 2. 第二种类型:函数调用样式
 


println("Hello world")

 3. 第三种样式:软件工程风格


package main

func main() {
    println("Hello world")
}


  2.基础语法

 

Go+ 具有各种值类型,包括字符串、整数、浮点数、布尔值等。

  •  字符串连接

println "Hello"+" "+"Go+"

 

  •  整数加法

 

println "12+10 =", 12+10

  •  浮点数
println "7.0/3.0 =", 7.0/3.0

  •  布尔
println true && false
println true || false
println !true

 

2.字符串
  
  字符串的值是用双引号中 ” ” 包括的内容


package main
import "fmt"

func main() {
    // 变量声明和初始化
    var ch1 string = "hello Go+!"
    var ch2 string = "关注静Yu"

    // 输出
    fmt.Printf("%s\n", ch1)
    fmt.Printf("%s\n", ch2)
}


输出结果

hello Go+!
关注静Yu

3.指针
Go+ 语言的指针类型和 C/C++的指针类型用法相同

package main
import "fmt"

func main() {
    // 定义指针变量
    ptr := &vint // 定义指针变量
    fmt.Println("指针变量 &vint:", &vint)
    fmt.Println("指针变量 ptr:", ptr)

    vstr := "hello Go+"
    vbool := false
    vrune := 'y'
    vfloat := 3.14
    fmt.Printf("vstr 的指针类型:%T\n", &vstr)
    fmt.Printf("vint 指针类型是:%T\n", &vint)
    fmt.Printf("vbool 指针类型是:%T\n", &vbool)
    fmt.Printf("vrune 指针类型是:%T\n", &vrune)
    fmt.Printf("vfloat 指针类型是:%T\n", &vfloat)
}


输出结果;

 指针变量 &vint: 0xc00000a088
指针变量 ptr: 0xc00000a088
vstr 的指针类型:*string
vint 指针类型是:*int
vbool 指针类型是:*bool
vrune 指针类型是:*int32
vfloat 指针类型是:*float64

 总结


Go+具有很大的优势,十分值得学习。
Go+提供了更简单,更优雅的语法,它比Go更接近自然语言。
Go+ 很容易学习。您不必在一开始就处理工程的复杂性。
Go+ 为每一行代码提供支持。您可以使用更少的代码完成更多的工作。

...全文
243 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-编程语言 发布问题, 以便更快地解决您的疑问
在 Web 开发的世界里,敏捷才是王道。使用更少的费用和资源来更快地完成网站和网络应用,从而获得更多的竞争优势。此外,他们不仅希望快速完成 Web 开发,对可用性和用户体验的要求也很高。这需要开发更多的功能和高级编程语言来开发网站功能,例如 Golang。如果您正在寻找用于 Web 编程、移动开发、微服务和 ERP 系统的强大工具,我们相信,您应该切换到 Golang 的原因是:1. 简单性如果 Python 是迄今为止容易学习的编程语言,那么 Golang 甚至更简单。学习 Go 语言要比学习 Python 快得多。一些开发人员声称 Golang 几乎和 JavaScript 一样简单。 2. 高级编译能力Golang 是一个编译执行语言,它能够直接将代码编译成可执行的二进制机器码。Golang 静态地将所有依赖库和模块编译到到一个二进制文件中。你不再需要在服务器上安装任何依赖项——你所需要做的就是上传一个编译的文件,你的应用就可以简单的运行了。 3. 并发和性能Golang 并发模型能够确保更高的性能(性能甚至 2x、3x 的提升)。大多数现代编程语言都支持并发,但是 Golang 采用了更节省资源的方法。Golang 提供更高性能的goroutine模型来支持多线程,goroutine能够更加节省 CPU 和内存资源。所以 Golang 更有助于降低成本和资源 4. 框架和库的本地支持Golang sdk 提供了功能丰富的 api,因此不用过多的依赖第三方库就能很好的使用 Golang。当然,如果你需要的话,你可以下载很多工具和框架(Golang 周围的社区已经很强大很完善了),但是常用的 API 都已经内置到 Golang 核心库中了。这样可以加快整个 Golang Web 开发过程的速度,并且使您无需寻找任何第三方依赖。 5.  IDE 和调试Golang 创作者在创建具有先进调试工具和插件的先进的集成开发环境方面做得很好。这可以说是编程中最关键的方面,因为 IDE 会严重阻碍或加速开发过程。今天,当敏捷性给软件公司带来竞争优势时,伟大的 IDE 和调试工具是一个非常重要的优势。 6. 清晰的语法、它包含零不必要的组件。Go是建立在实用的头脑中的:而不是必须深入研究语言结构,开发者现在可以自由地专注于开发本身。本质上Golang 是非常务实的。 本课程基于电商业务,采用前后端分离方式进行构建和讲解,后端主要包括:Gin+Go-Micro以及前端主要包括Vue。由于内容比较多,课程会分模块讲解,包括用户服务模块、商品服务模块、订单服务模块、消息服务模块、支付服务模块、后台管理系统模块、营销中心模块、物流系统模块、搜索中心模块、智能推荐模块等等。本课程内容为用户服务模块,全套课程将多种经过工业界验证的成熟技术解决方案呈现给大家,本套课程拒绝枯燥的理论,全程代码实操,通过项目驱动的方式,让大家能够真实体验Go语言在工业界开发过程,帮助大家建立Go语言开发思维,学习本套课程全部内容你完全可以自主开发一套高性能高可用高扩展的Go电商系统。本套案例集后端+前台+测试+运维一体,多方位的带你熟悉Go语言开发的全过程。本课程包含的技术:开发工具为:GOLAND、WebStormGin+Go-Micro Vue+Nodejs+jQuery+ElmentUIRedisRabbitMQ等等

1,017

社区成员

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

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

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

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