学习Go的3个步骤:从JavaScript和Python迁移到Golang

掌握一种编程语言需要花费很多时间,但是学习一种新语言则不需要。 相信我,在编码方面没有人是完美的。 作为软件工程师,至少应熟悉至少4–5种不同的语言,或者至少应了解如何在短时间内学习一种新语言。

好吧,为了让大家知道,我最近从python和javascript切换到了Golang。 因此,本文只是试图指导开发人员如何从一种语言平稳切换到另一种语言。

注意:[这篇文章供那些有任何编程语言经验的人,并且希望以快速简便的方式(只需查看Go代码!)学习实用的Go编程概念。

第1步:为什么存在该语言及其优势

Golang是软件行业中非常强大且流行的编程语言。 Golang是可表达的,静态类型的,编译的语言,快速可靠,并且在许多方面都比JavaScript和Python好很多。 它正在慢慢发展,并已成为许多开发人员开发软件,现代Web应用程序和应用程序后端的首选语言。

它用于制作涉及并发的大规模,可靠的应用程序。 使用go的唯一缺点是,他们在互联网上用于学习或完成/完成任务以及开发软件的资源很少。

第2步:设置,安装和运行“ Hello world”程序。

为了学习一种新的语言,需要下载一种语言(二进制/ SDK)本身。 因此,只需点击以下链接即可下载golang。

链接: https : //golang.org/dl/ 。 设置工作区并在文本编辑器中创建一个基本的go文件,复制并粘贴以下代码并运行该文件。

通过以下方式直接运行文件: go run <filename.go>

或通过以下方法编译为可执行文件: go build <filename.go>然后通过./ <executable_file>作为可执行文件运行

package main
import "fmt"
func main () { fmt.Println( "Hello World !" ) }

如果代码输出Hello World! 你已准备好出发 :)

值得注意的几点:

  1. 我们需要执行的每个文件都必须在顶部有一个主包。
  2. 接下来是用于读取和写入的导入语句。
  3. 接下来是程序启动的主要功能。

第3步:编程,语法和编码模式的基础。

在编程方面,基本原理保持不变。 无论我们使用哪种语言,都将始终有数据类型,如果还有其他语句,循环,switch语句等……。 让我们看一下Golang的基础知识。

在这里,我将讨论:

  • 资料类型
  • 控制声明
  • 函数(定义和声明)
  • 循环
  • 指针
  • 错误处理
  • 包(创建和导入)
  • 创建数据结构

让我们一一看一下。

资料类型

像所有其他语言一样,Golang还支持许多类似的原始数据类型,例如int,float64,字符串,bool等……让我们看一下语法:

语法1: <变量> <变量名称> <数据类型> = <值>

语法2: <变量名称>:= <值>

var x int 
fmt.Println(x) // output 0 or 
x := 5 
fmt.Println(x) // output 5
name := "Karan"
fmt.Println(name) // output karan
var array [] int { 1 , 2 , 3 , 4 , 5 , 6 }
fmt.Println(array) // output [1,2,3,4,5]
fmt.Println(array[ 2 ]) // output 3 
append (array, 7 )
fmt.Println(array) // output [1,2,3,4,5,7]

控制语句,函数,导入包

让我们借助示例来了解Golang中的控制流语句(如果还有,开关,循环),函数声明和函数调用的基础知识。

函数的语法如下所示。

func <函数名称>(param_name param_type)<return_type> {代码}

获取软件包的语法 :go install <package>或go get <package>

// 1st line is always the package 
package main 
// Importing basic packages in golang 
import (
 "fmt"
)
func main () {
  add_of_number := sum( 5 , 10 )
  square_of_number := square( 5 )
  factorial_of_number := factorial( 5 )
  fmt.Println(add_of_number,square_of_number,factorial_of_number)
  print_n_numbers( 3 )
}
func sum (x int , y int ) int { return x + y }
func square (x int ) int { return x*x }
func factorial (x int ) int {
 if x < 1 { return 1 }
  return x*factorial(x -1 )
}
func print_n_numbers (x int ) {
  for i:= 1 ; i<x+ 1 ; i++ { fmt.Println(i) }
}

//输出//

15 25 120

1 2 3

错误处理,指针和结构类型

有趣的事实: Go没有异常,因此我们必须手动检查错误,并且函数可以返回多个值。 Golang结构用于将多种类型的数据组合为一种。 它也可以用于创建新的数据结构。 让我们来看一个例子。

// 1st line is always the package 
package main
// Importing basic packages in golang 
import (
  "fmt"
  "errors"
  "math"
)
// struct type 
type person struct {
name string
age int
height float64 }
func main () {
// Pointers .. 
number := 10
fmt.Println(&number) 
fmt.Println(number)
increment_number(&number)
fmt.Println(number)
// Error Handling .. 
sqrt_result , err := sqrt( 16 )
if err != nil { fmt.Println(err) } else { fmt.Println(sqrt_result) }
// accessing struct in golang .. 
p := person{name: "karan" ,age: 25 ,height: 5.10 }
fmt.Println(p)
fmt.Println(p.name)
}
func sqrt (x float64 ) ( float64 , error) {
if x< 0 { return 0 , errors.New( "Negative number is not allowed !" ) }   else {  return math.Sqrt(x), nil } }
func increment_number (x * int ) { *x++ }

//输出//

0Xc82000a2f0 10 11 4 {karan 25 5.1} karan

就是这个帖子。 我希望你喜欢它。 直到那时,继续编码并继续学习。

From: https://hackernoon.com/from-javascript-and-python-to-golang-3-steps-to-learn-go-programming-pus32y0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值