内容介绍

  • Go语言简述

  • Go语言站点

  • Go基础环境搭建(linux&windows)

  • hello word程序

  • Go语言特性

  • Go命令介绍

Go语言简述

  • 特征:

    • 语法简单:语法标准比较严格,适合开发人员短时间高效的服务端开发。

    • 并发模型:Goroutine是Go最显著的特征,使用类协程的方式来处理并发,搭载channel实现CSP模型

    • 内存分配:Go选择tcmaclloc来实现高并发的内存管理和分配

    • 垃圾回收:防止出现OOM的坑

    • 静态链接:简化了部署和发布操作,极大程度上降低了代码发布的依赖关系

    • 标准库:功能完善的标准库,有利于降低学习成本

    • 工具链:无论是编译,格式化,错误检查,帮助文档和对应的测试支持都比较完善

  • 总结:

      go语言作为一个现代化的开发语言,利用其高并发的特性,有利于实现服务端开发;再结合自身的语法规范性上,可以更好的为API的开发提供更好的帮助;作为一种编译性开发语言。在web开发方面还存在着一定的高效性差距;然而在通过同步方式封装异步概念来更好的处理并发,所以更适合现在的服务端开发。

Go语言环境搭建

windows下配置Go,环境变量--->自行脑补

Linux下配置Go --> /etc/profix/

export GOROOT=$PATH:/path/to/go/
export PATH=$PATH:$GOROOT/bin/
export GOPATH=/home/user/project/go

Go是强类型语言,复用的最小单位是package(包)

Go命令:

  • go run 快速运行go文件,就像执行脚本一样

  • go build 编译程序,生成二进制可执行文件

  • go install 安装可执行文件到bin目录

  • go test 执行单元测试或压力测试  go test -v 详细

  • go env 显示go相关的环境变量

  • go fmt 格式化源代码 ,字符串只能用双引号

Go须知:

    1. package main 所有的入口必须是main 函数 , 不需要传参数,和返回值

    2. package  cacl是一个库

    3. func函数    是关键字,

    4. GOPATH  工作区,所有项目都是在工作区,GOPATH路径最好只设置一个   

    5. 如果要使用包里的一个文件,那必须把这个包都导入

    6. import 中使用别名 是在 包名前面 在一个自定义字母就行

    7. go 源码按package进行管理,并且package要放到非注释的第一行

    8. 一个程序只有一个main包和一个main函数,  main函数是程序的执行入口!!

    9.  单行注释//,  多行注释 /*    内容   */

Go编程基础须知:

  1. 类型必须在变量后面 : 自动会更根据后面的类型,给前面变量赋值类型

    1. 定义变量 var sum int   --> sum就是变量,int 是类型

    2. 有个更简易的变量赋值方法       :=   声明变量并且赋值  

  2. 11

Go代码:

func Add(a int,b int) int {
    return a + b
}
//求差
func Sub(a int,b int) int {
    return a - b
}
//多返回值混合运算
func Calc(a int,b int) (int,int) {
    sum := a + b
    sub := a - b
    return sum,sub
}