Golang 学习包的概念以及开发目录规范

开发环境VScode

Go 语言首先需要配置GOPATH环境变量

代码文件需要放置在GOPATH目录下的src文件夹下,下面是规范的目录代码目录结构

下面是一个规范的Go语言程序

main.go

package main

import (
	"fmt"
	"go_dev/day1/package_example/calc"
)

func main() {
	sum := calc.Add(100, 300)
	sub := calc.Sub(100, 300)
	fmt.Println("sum=", sum)
	fmt.Println("sub=", sub)
}

add.go

package calc

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

sub.go

package calc

func Sub(a int, b int) int {
	return a - b
}

 

在另一个文件夹写的函数,必须大写,才能在外部被调用。

package main

import (
	"fmt"
	"go_dev/day1/goroute_example/goroute"
)

func main() {
	var pipe chan int
	pipe = make(chan int, 1)
	go goroute.Add(100, 300, pipe)
	sum := <-pipe
	fmt.Println("sum=", sum)
}

这里演示的案例是开一个goroute, 调用另一个函数 ,上面的管道为引用类型。

package goroute

func Add(a int, b int, c chan int) {
	sum := a + b
	c <- sum
}

Go语言值类型和引用类型

Go中与C语言中指针的特性

func swap(a *int, b *int) {
	temp := *a
	*a = *b
	*b = temp
}

func main() {
	first := 100
	second := 200
	swap(&first, &second)
	fmt.Println("first=", first)
	fmt.Println("second=", second)
}

以及类Python风格的写法

func swap(a *int, b *int) {
	temp := *a
	*a = *b
	*b = temp
}

func swap1(a int, b int) (int, int) {
	return b, a
}

func main() {
	first := 100
	second := 200
	first, second = second, first
	//swap(&first, &second)
	fmt.Println("first=", first)
	fmt.Println("second=", second)
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习 Go 语言(也称为 Golang 或者 Go)通常可以按照以下步骤来进行: 1. **入门准备**: - 安装 Go:首先,你需要从 Go 的官方网站下载并安装适合你操作系统的版本。 - 熟悉基本概念:了解 Go 的语法特性,比如其简洁明了的语法、内置并发支持、垃圾回收机制等。 2. **基础知识**: - 学习基础语法:变量、数据类型、流程控制(条件语句、循环、函数)、结构体、接口等。 - 阅读官方文档:`golang.org/doc` 是很好的资源,括语言规范、标准库介绍和教程。 3. **实践编程**: - 编写Hello World程序:这是开始任何语言学习的常见步骤。 - 小型项目练习:通过简单的命令行工具、Web服务器、数据库操作等练习,巩固所学知识。 4. **进阶内容**: - **并发编程**:Go 以其轻量级 goroutines 和 channels 来处理并发,这部分很重要。 - **错误处理**:学习如何优雅地处理和传递错误。 - **管理**:理解 `go mod` 并学会依赖管理和模块化开发。 5. **标准库和框架**: - 探索 Go 标准库:了解如 net/http、database/sql、os、fmt 等常用库。 - 深入研究第三方库:如 gin(Web框架),gin-gonic(另一个轻量级Web框架)等。 6. **设计模式和最佳实践**: - 了解常见的软件设计模式,并应用于 Go 中。 - 遵循一些社区推荐的最佳实践,例如编码风格、性能优化建议等。 7. **实战项目**: - 参与开源项目:贡献代码,提升实际经验。 - 自己动手构建应用:比如微服务、网络服务、游戏等,加深理解和运用能力。 8. **持续学习**: - 关注 Go 社区动态,定期参加技术分享会或研讨会。 - 阅读博客和技术文章,保持对最新趋势和技术的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值