GO语言极简培训教程

GO语言极简培训教程

一 环境安装

https://go.dev/dl/

在这里插入图片描述

https://www.jetbrains.com/go/

在这里插入图片描述

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

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

package main

import "fmt"

func main() {
	fmt.Println("hello major!")
}

// 行注释
/*
多行注释
*/

// 1.go语言以包单位
// 2.每个文件必须声明包
// 3.程序必须有一个main包
package main

// 输入输出的系统包
import "fmt"

// 入口主函数
func main() {
	// ln表示换行
	fmt.Println("hello major!")
}


二 变量基础类型和复杂类型

// 行注释
/*
多行注释
*/

// 1.go语言以包单位
// 2.每个文件必须声明包
// 3.程序必须有一个main包
package main

import "fmt"

// 入口主函数
func main() {
	// 整数
	var a int = 999
	var b int = 100
	var c = 777 // 自动推导类型
	fmt.Println(a, b, c)

	// 浮点数
	var f1 float64 = 3.14159
	var f2 = 3.11 // 自动推导类型
	fmt.Println(f1, f2)
	// 打印变量类型
	fmt.Printf("%T\n", f2)

	// 字符串类型
	var str1 string = "Hello World"
	fmt.Println(str1)
}

三 流程控制

顺序结构:程序按顺序执行,不发生跳转。
选择结构:依据是否满足条件,有选择的执行相应功能。
循环结构:依据条件是否满足,循环多次执行某段代码。

// 行注释
/*
多行注释
*/

// 1.go语言以包单位
// 2.每个文件必须声明包
// 3.程序必须有一个main包
package main

import "fmt"

// 入口主函数
func main() {

	score := 700
	if score == 700 {
		fmt.Println("优秀")
	}

	if a := 600; a == 600 {

		fmt.Println("600")
	}

}

// 行注释
/*
多行注释
*/

// 1.go语言以包单位
// 2.每个文件必须声明包
// 3.程序必须有一个main包
package main

import "fmt"

// 入口主函数
func main() {

	score := 600
	if score == 700 {
		fmt.Println("优秀")
	} else if score == 600 {
		fmt.Println("良好")
	}else {
		fmt.Println("一般")
	}

	if a := 600; a == 600 {

		fmt.Println("600")
	}

}

Switch

// 行注释
/*
多行注释
*/

// 1.go语言以包单位
// 2.每个文件必须声明包
// 3.程序必须有一个main包
package main

import "fmt"

// 入口主函数
func main() {

	score := 55
	switch score {
	case 90:
		fmt.Println("A")
	case 91:
		fmt.Println("B")
	case 92:
		fmt.Println("C")
	default:
		fmt.Println("D")

	}

}

// 行注释
/*
多行注释
*/

// 1.go语言以包单位
// 2.每个文件必须声明包
// 3.程序必须有一个main包
package main

import "fmt"

// 入口主函数
func main() {

	score := 55
	switch score {
	case 90:
		fmt.Println("A")
	case 91:
		fmt.Println("B")
	case 92,93,94:
		fmt.Println("C")
	default:
		fmt.Println("D")

	}

}

package main

import "fmt"

// 入口主函数
func main() {

	score := 94
	switch score {
	case 90:
		fmt.Println("A")
		fallthrough // 继续往下执行
	case 91:
		fmt.Println("B")
	case 92, 93, 94:
		fmt.Println("C")
	default:
		fmt.Println("D")

	}

}

package main

import "fmt"

// 入口主函数
func main() {

	switch score := 60; score {
	case 90:
		fmt.Println("A")
		fallthrough // 继续往下执行
	case 91:
		fmt.Println("B")
	case 92, 93, 94:
		fmt.Println("C")
	default:
		fmt.Println("D")
	}

	score2 := 90
	switch { // 没有条件
	case score2 >= 80:
		fmt.Println("A")
	default:
		fmt.Println("B")

	}

}

For循环

package main

import "fmt"

// 入口主函数
func main() {
	for i := 0; i < 10; i++ {
		fmt.Println(i)
	}
}

四 函数

package main

import "fmt"

func test(a int, b int) {
	c := a + b
	fmt.Println(c)
}

// 入口主函数
func main() {

	test(1, 2)
}

package main

import "fmt"

func test(a int, b int) int {
	c := a + b
	//fmt.Println(c)
	return c
}

// 入口主函数
func main() {

	c := test(1, 2)
	fmt.Println(c)
}

package main

import "fmt"

func test(a int, b int) (c int) {
	c = a + b
	//fmt.Println(c)
	return
}

// 入口主函数
func main() {

	c := test(1, 2)
	fmt.Println(c)
}

package main

import "fmt"

func test(a int, b int) (c, d int) {
	c = a + b
	d = a - b
	//fmt.Println(c)
	return
}

// 入口主函数
func main() {

	c, d := test(1, 2)
	fmt.Println(c, d)
}

五 指针

六 面向对象

七 异常处理

八 文件IO

package main

import (
	"fmt"
	"os"
)

// 入口主函数
func main() {

	fp, err := os.Create("./a.txt")
	if err != nil {
		fmt.Println("fail to create file")

	}

	fp.WriteString("sdsdadadasd")

	fp.Close()
}

package main

import (
	"fmt"
	"os"
)

// 入口主函数
func main() {

	fp, err := os.Open("a.txt")
	if err != nil {
		fmt.Println("err:", err)

	}

	buf := make([]byte, 1024)
	n, err := fp.Read(buf)
	fmt.Println(string(buf[:n]))
}

构建项目

同级目录 包名一致
不同目录 包名不一致
//包名.函数名(丽数名首字母大写)
userinfo.Userlogin()
go build test.go

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

设置镜像源

设置为百度镜像源

go env -w GONOPROXY=\*\*.baidu.com\*\* &&  go env -w GONOSUMDB=\* && go env -w GOPROXY=https://goproxy.bj.bcebos.com

设置为七牛云镜像源

go env -w GO111MODULE=on && go env -w GOPROXY=https://goproxy.cn,direct

go get 获取库

go get  gocv.io/x/gocv  

在这里插入图片描述

Go语言安装OpenCv

https://gocv.io/getting-started/windows/


Cgo

https://sourceforge.net/projects/mingw-w64/files/

在这里插入图片描述

离线安装

在这里插入图片描述
解压后,配置环境变量
在这里插入图片描述

gcc -v

在这里插入图片描述

go build --buildmode=c-shared -o Test.dll
  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值