Go语言初探

Go语言出现原因:

随着系统复杂度越来越高,维护的成本越来越高,目前的编程语言有着风格不统一、计算能力不够、处理大并发不够好的特点,因此缺乏一个足够简洁高效的编程语言。

  • 比如Go语言为了风格统一,有着许多的要求,比如一个包中的变量、方法如果是希望被外部使用的,则要求必须首字母大写;还比如for循环{}的{必须和判断条件一行

    for i := 0;i < 10;i++{//必须要求一行
        
    }
    

同样的,计算机的硬件技术更新频繁,性能提升很快,主流的编程语言发展明显落后于硬件,不能够合理的利用多核多CPU的优势来提升软件性能。

Go语言特点:

  • Go语言是静态类型语言,有着静态编译语言的安全和性能,但同时,又达到了动态语言开发维护的高效率。
  • 引入了包的概念,用于组织程序结构,Go语言的一个文件都要归属于一个包,不能单独存在。
  • 垃圾回收机制,内存自动回收(防止了C、C++中的内存泄露)
  • 天然并发!
    • 语言层面支持
    • goroutine轻量级前程,可实现大并发处理,高效利用多核
    • 基于CSP并发模型实现
  • 吸收了管道通信机制,形成Go语言特有的管道channel,通过channel可实现不同的goroute
  • 函数可以返回多个值
  • 其他创新:切片slice(动态数组)、defer延时函数(方便及时回收资源)

开发项目时Go程序目录结构:

Go语言环境配置:见Go语言环境配置

当前目录:F:\Go

  • src
    • gocode
      • project_01 项目1
        • main 一个文件夹对应一个包
          • hello.go Go文件
        • other_package 其他的包[是个文件夹]
      • project_02项目1
        • main
        • other_package

如图所示:

在这里插入图片描述

编写hello.go文件如下:

package main

import "fmt"

func main()  {
	fmt.Println("hello")
}

对.go文件进行编译和执行

编译:go build xxx.go

也可以直接go run xxx.go,可是在实际工程中,肯定要先编译,再执行。

在这里插入图片描述

go build -o /bin/main.exe main.go

Golang执行流程分析:

  • .go文件 —go build编译–> 可执行文件 —运行–> 结果
  • .go文件 —go run—> 结果

再编译时,编译器会将程序依赖的库文件包含在可执行文件中,所有会导致可执行文件变大了。

两种方式的区别:

  1. 如果先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行。
  2. 如果我们直接go run源代码,那么如果要在另外一台机器上这样运行,那么也需要go开发环境,否则无法执行。

其他注意事项:

  1. 源文件以.go为扩展名
  2. Go程序执行入口为main()函数
  3. 区分严格大小写
  4. 一行最长不超过80个字符,超过的请使用换行展示。
  5. Go设计者思想:一个问题尽量只有一个解决方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值