Go语言学习之入门篇(一)

1.golang环境安装

源码包下载:https://golang.org/dl/

安装过程比较简单,只需要找到对应操作系统的源码包进行相对应的解压和安装即可。

2.IDE

本人使用的的IDE是GoLand,其他比较常用的IDE有VsCode、VIm+Go插件等方式。

3.Go语言的一些特性

3.1 优势

(1)简单部署:

采用Go语言编写的.go文件可以直接编译成机器码文件,不依赖其他的库,即操作系统可以直接运行的文件。

(2)静态类型语言

Go语言属于静态类型的语言,他在编译过程中就可以检测出隐藏的大多数问题。

(3)并发控制方面

Go语言本身就支持并发控制,他能充分利用CPU多核特性,且切换成本很低。

(4)丰富的标准功能库

首先Go语言具有runtime系统调度机制,能自动完成一些GO相关的调度分配,其次,Go语言具有高校的GC垃圾回收。最后就是丰富的标准功能库,这些库已经可以完全支持开发一些常见的开发需求。

(5)学习成本低

Go语言仅仅只有25个关键词,这相对于其他语言属性很少的,其次Go的创世人也是C语言的创世人,所以他和C语言一样追求简洁,而且Go语言内嵌C语法支持。同时,他和Java、pyhton语言一样具有面对对象语言具有的特性(继承、封装、多态)。且其实一种跨平台的语言,在windows、linux等主流操作系统上都能很好的使用。

3.2 Go语言适合的领域与代表项目

(1)云计算基础设施领域,如docker、kubernetes、etcd等等。

(2)基础后端软件,如tidb、influxdb等等。

(3)微服务,如go-kit、micro等等。

(4)互联网基础设施,如hyperledger等等。

3.3 Go语言的一些缺点

(1)Go语言的包管理不够完善,大部分包都是在github,没有强大的团队和机构进行稳定更新和维护。

(2)Go语言不支持泛型。

(3)Go将所有的Exception都用Error进行处理。

(4)Go语言不能想C++那样完全兼容C。

总结:Go语言在适合的领域的优势还是很明显的,是否选择Go语言作为开发语言还是得看具体的开发需求。

4.第一个Go程序

学习大部分语言的第一个程序都是在控制台输出hello world!,我们也举hello world!为例:

package main //程序所在包名

import "fmt" //导入"fmt"功能库

//main 方法
func main () {
    fmt.Println("hello world!")
}

输出结果:

hello world!

5.Go语言的变量定义方式

Go语言提供了多种变量的定义方式:

(1)声明一个变量,Go语言自动赋予默认值

package main

import "fmt"

func main()  {
    // 声明一个整型变量i,默认值为0
	var i int
	fmt.Println("A variable i value is ", i)
	fmt.Printf("the type is %T\n",i)
}

输出结果:

A variable i value is  0
the type is int

(2)声明一个变量,并赋值:

package main

import "fmt"

func main()  {
    //声明一个变量i并赋值为10
	var i int = 10
	fmt.Println("A variable i value is ", i)
	fmt.Printf("the type is %T\n",i)
}

输出结果:

A variable i value is  10
the type is int

(3)声明变量但不给出数值类型,Go语言自动推断数据类型:

package main

import "fmt"

func main()  {
    //声明一个变量i并直接赋值,不提供数值类型。
	var i = 10
	fmt.Println("A variable i value is ", i)
	fmt.Printf("the type is %T\n",i)
}

输出结果:

A variable i value is  10
the type is int

(4)省去var关键词,直接声明变量并赋值,这是常用的声明变量的方式,但这种方法只在声明局部变量是支持(函数内部):

package main

import "fmt"

func main()  {
    // 声明一个变量i,并赋值10
	i := 10
	fmt.Println("A variable i value is ", i)
	fmt.Printf("the type is %T\n",i)
}

(5)多变量声明可以有两种方式,分为单行写法和多行写法:

package main

import "fmt"

func main()  {
    // 多行写法
	var (
		i = 100
		j = "aa"
	)
	fmt.Println("A variable i value is ", i)
	fmt.Printf("the type is %T\n",i)
	fmt.Println("A variable j value is ", j)
	fmt.Printf("the type is %T\n",j)
}

两种方式得到相同的结果:

A variable i value is  100
the type is int
A variable j value is  aa
the type is string
本系列的学习内容参考的B站视频Go语言快速入门教学视频8小时转职Golang工程师(如果你想低成本学习Go语言)_哔哩哔哩_bilibili,该视频适合有一定的编程语言基础,从其他语言转Go语言的学习者。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值