go语言入门——从环境变量配置、HelloWorld入手,简单明了,基础语法详解

1、配置环境变量

  1. 下载(尽量下载压缩包的zip):https://golang.google.cn/dl/

  2. 配置GOROOT,值为go安装路径

    在这里插入图片描述

  3. 配置GOPATH:值为你项目或者练习项目的路径,自己创建,这里我是在golang安装目录在新建一个空的olangWorkSpace文件下。

    在这里插入图片描述

  4. 配置path

    在这里插入图片描述
    在这里插入图片描述

  1. 测试,在命令行在输入go env 进行测试GOROOT和GOPATH配置的对不对

    在这里插入图片描述

2、Hello

package main

import "fmt"

func main() {
   
   
   fmt.Println("hello")
}
  1. 编译+运行:go run xxx.go
  2. 先编译再运行:
    • go build xxx.go
    • ./xxx.go

3、声明变量

1. var a int (有默认值,默认值为02. var a int = 100
3. var a = 100
4. a := 100
5. var a, b int = 1, 2
6. var(
	a int = 100
    b string = "b"
)

注:单个变量声明中,1、2、3是可以声明全局变量,4不可以。

4、const和iota

  1. 定义常量:const a := 1

  2. iota使用在const枚举中

    const (
        //可以在const()添加一个关键字iota,每行的iota都会累加1,第一行的iota的默认值是0
    a, b = iota+1, iota+2 // iota = 0, a = iota + 1, b = iota + 2, a = 1, b = 2
    c, d // iota = 1,c = iota + 1, d = iota + 2,c = 2, d = 3
    e, f //iota = 2, e = iota + 1, f = iota + 2,e = 3, f = 4
    g, h // iota * 2,iota *3 ll iota = 3, g = iota * 2, h = iota * 3,g = 6, h = 9
    i, k //iota = 4, i = iota * 2, k = iota * 3 , i = 8, k = 12
    )
    

5、函数和导包

1.函数

1. func f1(a int, b int) int {
   
   
    return a+b
}
2. func f2(a int, b int) (int, int) {
   
   
    return a, b
}
3. func f3(a int, b int) (r1 int, r2 int) {
   
   
    r1 = a * 10
    r2 = b * 10
    return
}
4. func f4(a int, b int) (r1, r2 int) {
   
   
    r1 = a * 10
    r2 = b * 10
    return
}

go执行流程

在这里插入图片描述

2.导包

  1. import “fmt”:直接用fmt去调用方法。
  2. import f “fmt”:给fmt包区别,通过别名调用方法。
  3. import _“fmt”:匿名,无法使用当前包的方法,但是会执行当前包内部的init()方法。
  4. import .“fmt”:将fmt的全部方法全部导入到本包中,直接通过方法名就可以使用理:Println()。不推荐使用

6、指针

指针存的是地址,并且可以直接修改地址里的值,java改引用类型的值并不是改地址里的值,而且赋值另外一个值的地址。

  1. &是传地址、*是取地址

  2. 使用

    package main
    
    func main() {
         
         
    	var a int = 1
    	var b int = 2
    	swap(&a, &b)
    	println(a)
    	println(b)
    }
    func swap(pa *int, pb *int) {
         
         
    	var temp int = *pa
    	*pa = *pb
    	*pb = temp
    }
    
    
  3. 二级指针

    var a int = 1
    var p = &a
    var pp **int = &p
    

7、defer关键字

  1. defer是最后执行的,有点像java的final

    defer println("1")
    println("2")
    //结果为2 1
    
  2. 多个defer是以压栈的形式执行的

    defer println("1")
    defer println("2")
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_44182424

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值