• Go 入门


     1.开发环境搭建

      1. 安装Go

         打开网址https://golang.org/dl/

    2.IDE搭建(vscode)

    a.打开网址:https://code.visualstudio.com

    b. 根据操作系统选择对应的安装包

    c. 点击安装包进行安装(linux直接解压)

    3.使用VS Code 新建Go项目

    a. 新建目录/home/user/project/go/src/listen1

    b. 用vscode打开目录/home/user/project/go/src/listen1

    c. 右键新建文件hello.go,保存

    d. vscode会提示你安装一些go的工具,我们点击install all


    3. 调试工具delve安装
    a.打开网址:
    https://github.com/derekparker/delve/tree/master/Documentation/installation

    b. mac: brew install go-delve/delve/delve

    c. linux&windows: go get github.com/derekparker/delve/cmd/dlv


    golang语言特性

    1. 垃圾回收

    a.内存自动回收,再也不需要开发人员管理内存

    b.开发人员专注业务实现,降低了心智负担

    只需要new分配内存,不需要释放

    golang语言特性

    2. 天然并发

    从语言层面支持并发,非常简单

    goroute,轻量级线程,创建成千上万个goroute成为可能

    基于CSP(Communicating Sequential Process)模型实现

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

    3. channel

    管道,类似unix/linux中的pipe

    b. 多个goroute之间通过channel进行通信

    支持任何类型
    func main() {
    pipe := make(chan int,3)
    pipe <- 1
    pipe <- 2
    }

    4. 多返回值

    一个函数返回多个值

    func calc(a int, b int)(int,int) {
    sum := a + b
    avg := (a+b)/2
    return sum, avg
    }


    第一个golang程序

    1. hello world,在listen1目录下新建hello.go

    package main

    import(
    “fmt”
    )

    func main() {
    fmt.Println(“hello world”)
    }


    包的概念


    1. 和python一样,把相同功能的代码放到一个目录,称之为包

    2. 包可以被其他包引用

    3. main包是用来生成可执行文件,每个程序只有一个main包

    4. 包的主要用途是提高代码的可复用性


    包的实战

    1. 在listen1目录下新建calc目录

    2. 在calc目录下新建calc.go

    package calc

    func Add(a int, b int) int {
    return a + b
    }


    1. 修改hello.go代码,如下


    package main

    import(
    “fmt”
    “calc”
    )

    func main() {
    sum := calc.Add(3,5)
    fmt.Println(“hello world,%d”,sum)
    }

  • 相关阅读:
    68
    56
    Django manager 命令笔记
    Django 执行 manage 命令方式
    Django 连接 Mysql (8.0.16) 失败
    Python django 安装 mysqlclient 失败
    H.264 SODB RBSP EBSP的区别
    FFmpeg—— Bitstream Filters 作用
    MySQL 远程连接问题 (Windows Server)
    MySQL 笔记
  • 原文地址:https://www.cnblogs.com/wangcongxing/p/11842048.html
Copyright © 2020-2023  润新知