前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go两周入门系列-Golang介绍

Go两周入门系列-Golang介绍

作者头像
用户10002156
发布2023-09-21 20:54:38
1600
发布2023-09-21 20:54:38
举报
文章被收录于专栏:生活处处有BUG生活处处有BUG

GO语言是google推出的一种全新的编程语言,它拥有表现力强、简洁、干净、高性能的特点。它的并发机制使得我们很容易编写出利用多核特性的程序。GO可以快速编译成机器代码,支持内存垃圾回收机制。它是一种快速、静态类型的编译型语言,但是用起来像一种动态类型的解释性语言。

GO语言应用场景

因为go语言的简单和高性能(性能接近C/C++)特点,目前主要应用场景如下:

  • ? 中间件开发
  • ? web开发
  • ? 微服务开发
  • ? 游戏服务端以及其他服务端应用

GO 语言代码结构

下面通过一个例子看看go语言代码长什么样子。

提示:大家不必在意这里代码的具体语法,后续章节会介绍go语言的语法,大家只要大致了解下代码长什么样子即可。

代码语言:javascript
复制
// 定义包, 一个程序通常只有一个main包,作为程序的入口
package main

// 导入包,这里导入fmt包
import "fmt"

// 通过func关键字定义函数
// 这里定义的是程序的入口函数main, 程序从这个函数开始执行
// 通常一个程序是有一个main函数
func main() {
    // 调用fmt包的Println函数,打印一个字符串。
    fmt.Println("Hello, 生活处处有BUG")
}

运行这个程序会在控制台窗口输出:Hello,生活处处有BUG

下面在看一下go语言并发编程的例子:

代码语言:javascript
复制
package main
// 导入两个包fmt和time
import (
    "fmt"
    "time"
)

// 定义一个say函数,接受一个字符串参数s
// 这个函数的作用就是循环打印5次字符串参数s
func say(s string) {
        // 循环5次
    for i := 0; i < 5; i++ {
                // 协程休眠100毫秒
        time.Sleep(100 * time.Millisecond)
                // 打印字符串s
        fmt.Println(s)
    }
}

// 入口函数main
func main() {
        // 通过go关键词,开启一个新的协程执行say函数
    go say("world")
        // main函数继续执行say函数,这里其实是在主协程执行
    say("hello")
}

go语言的协程,大家可以简单的理解成轻量级的线程,只要 一个关键词go,就可以开启一个协程并发的执行任务,默认情况下执行go语言程序会开启一个协程运行main函数,这个协程通常称为主协程,类似java的主线程,上面例子其实有两个协程在并发运行。

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-09-18 22:57,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 生活处处有BUG 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GO语言应用场景
  • GO 语言代码结构
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com