Go语言初入门,配置环境,及其基础语法一 | 青训营笔记

115 阅读3分钟

什么是Go语言

Go全称Golang,它是由谷歌推出的开源的,静态强类型,编译型,并发性,并具有垃圾回收功能的编程语言,六个字
概述:简单,快速,可靠,适用于大规模网络网络应用和分布系统,除此之外还具备内存安全性和C语言的高效性能。
特点概述:
        1.高性能
        2.丰富的标准库
        3.语法简单,学习曲线平缓
        4.完善的工具链
        5.静态链接
        6.快速编译
        7.跨平台
        8.垃圾回收

安装GO和安装Goland

在Goole中搜索,https://go.dev/

image.png 选择.msi文件(Windows安装包程序文件),下载安装包程序文件就不需要自己配置环境变量了。 也可以去选择.zip文件,但是需要去配置环境变量。 这里需要配置一个GOPATH,选择个地方创建文件夹,例如:D:\Goprogram\GoWorkspace\library和D:\Goprogram\GoWorkspace\workspace这样两个文件夹子,然后在环境变量中如下配置

image.png

image.png 安装过程很简单,安装完之后,打开cmd命令窗口,输入go version出现go版本号即安装成功。

image.png

环境OK了,该下载编译器了,我们这里选用Goland,下载网址:www.jetbrains.com/go/download…

选择版本,安装很简单,2022版之前可以去找方法可以永久激活。

Go的初入门-基础语法

输出一个:hello world

package main
import (
    "fmt"
)
func main(){
    fmt.println("hello world")
}

1.变量:

变量声明方式:(< >里内容一定要有,[ ]可有可无)

    var <变量名称> <变量类型>(变量名首字母大写决定该变量可否被外部引用)
    
    变量初始化:
    
    标准初始化:var <变量名称> <变量类型> = <变量值>

    var <变量名称> = <变量值>(使用范围没有限制)

    <变量名称> := <变量值>(仅限于函数之内)
   
   基本的类型:int string bool byte float32 float64 nil
   
   此外还支持批量声明,例如:
       var x,y int
       var(
       x int
       y string
       )
  常量:
      由const声明,语法:const <变量名称> [变量类型] = 变量值

2.循环:

go语言只有for循环,它有三种形式:
(1) for init;condition;post{}(和C语言中的for一样)
(2) for condition{}(和C中的while一样)
(3) for{}(和C的for(;;)一样)
init:赋值表达式,给控制变量赋初值。
condition:逻辑表达式或关系表达式循环控制条件。
post:赋值表达式,给控制变量做增量或减量

3.分支:

switch:
        基本语法:switch var1{
                    case var11:
                    case var22:
                    case var33:
                }
       case分支都是唯一的,从上到下依次执行,且switch最后默认携带break,匹配成功后就不会在匹配其他case,
       如果需要匹配其他的需要使用fallthrough
if else:
        基本语法:if 条件表达式1{
                    执行代码1
                 }else if{
                          执行代码2
                 }...
                 else{
                         执行代码n
                }

4.数组和切片:

数组是具有相同的唯一类型的一组已编号且长度固定的数据项序列
声明:var <数组名> <[长度]><类型>
切片是对于数组的一个连续片段的引用,相信学过Python的应该会很了解
声明:var arr1 []type = arr2[start:end]

下一篇:关于map,指针,结构体,错误处理,字符串操作,JSON处理,数字解析,进程信息