掌握一种编程语言需要花费很多时间,但是学习一种新语言则不需要。 相信我,在编码方面没有人是完美的。 作为软件工程师,至少应熟悉至少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! 你已准备好出发 :)
值得注意的几点:
- 我们需要执行的每个文件都必须在顶部有一个主包。
- 接下来是用于读取和写入的导入语句。
- 接下来是程序启动的主要功能。
第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
就是这个帖子。 我希望你喜欢它。 直到那时,继续编码并继续学习。