首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Go coding in go way

Go coding in go way”,中文含义就是用“Go语言编程思维去写Go代码”。...这里要和大家交流的内容都是基于Go诞生七年多以来我个人对Go的设计者、Go team以及Go主流社区的观点和代码行为的整理、分析和总结。...由于Go语言上手容易,在转Go的初期大家很快就掌握了Go的语法。...Go语言的价值观的形成我觉得至少有三点因素 1、语言设计者&Unix文化 Go语言价值观形成是与Go的初期设计者不无关系的,可以说Go最初设计者主导了Go语言价值观的形成!...无论是Go语言设计还是Go语言使用,都受到上述价值观的影响。接下来我们逐个来看一下Go语言价值观主导下的Go语言编程思维,并看看每种编程思维在语言设计、标准库实现以及主流Go开源项目中的应用体现。

45630

Gogo get 自动代理

最近发现技术交流群里很多人在询问 go get 墙外包失败的问题,大家给了很多解决方案: 从 Github 的代码库 clone 设置 GOPROXY 环境变量配置代理, 例如:GOPROXY=https...://goproxy.io 配置命令行代理,https_proxy 环境变量 使用 go mod replace 使用 Gopm 类似的工具 …… Go 的社区很活跃,国内 gopher 对 Go 的热情不会因为墙的存在而减少...上面的方法都是可行的,但是总有一些不尽人意,社区也一直在找更好的方法,我一直使用自动代理的方式获取墙外的包,可以支持所有 Go 原生拉取包操作,比如 go get、go mod、dep、godep、glide...go get 自动代理的环境,以后需要访问外国网站操作的指令运行时加 proxy 就可以了,该方法并不只适用于 go get,任何需要命令行代理都可以使用。...前期我使用 go 的时候遇到下载不了的包时,就会在 go get 前加上 proxy 指令,但是我发现拉取 Github 包的效率非常低,本身国内现在访问 Github 已经很快了。

1.7K20

Go 函数(Go面试系列)

Hi,我是行舟,今天和大家一起学习Go语言的函数。 函数是Go语言中的一等公民,既可以单独定义,也可以作为参数传递。 Go语言中函数和方法不是一个概念,方法是属于结构体的。...传入参数是一个或者多个,返回值也是一个或者多个(这一点和别的语言不太一样,Go语言支持多返回值)。...在Go语言中,传入参数和返回参数完全相同的函数是同一类函数。 Go语言中的类型(type)也是非常重要的概念,我们后续单独写文章介绍,当前只需要记住判断两个函数是否同类型的标准就可以了。...返回值 Go语言中的函数可以有多个返回值,同时我们也可以对返回值进行命名。...Go语言中函数的最后一个形参类型前加...代表不限定参数个数。

32420

Go依赖管理——Go Mod

module简介 在 go1.12,go发布了官方的包管理工具 Go Module 使用module 生成go.mod 新建一个文件夹作为项目目录,执行 go mod init 模块名称 使用mod初始化项目...,生成项目依赖管理文件go.mod 这个文件也可以手动创建,无伤大雅 初始化后的go.mod文件内容如下 module test go 1.14 添加依赖 通过在go.mod中,添加require语句...github.com/99designs/gqlgen master require直接通过github地址和版本号(tag)来下载对应依赖 下载依赖 执行下面语句,自动将依赖安装到本地缓存(GOPATH) go...mod download 编译运行 在项目目录创建主类源代码,接下来就可以执行编译运行命令了,比如是main.go go build main.go ..../main.exe 清除多余依赖 go mod tidy 会修改go.mod,删除掉没有用的依赖 修改仓库代理 go env -w GOPROXY=https://goproxy.cn,direct

2K41

GO

2008年5月 Google发现了GO语言的巨大潜力,得到了Google的全力支持,这些人开始全职投入GO语言的设计和开发。 2009年11月 GO语言第一个版本发布。...2012年3月 第一个正式版本Go1.0发布。 2015年8月 go1.5发布,这个版本被认为是历史性的。完全移除C语言部分,使用GO编译GO,少量代码使用汇编实现。...到go1.8时,相同业务场景下的GC时延已经可以从go1.1的数秒,控制在1ms以内。GC问题的解决,可以说GO语言在服务端开发方面,几乎抹平了所有的弱点。...在GO语言的版本迭代过程中,语言特性基本上没有太大的变化,基本上维持在GO1.1的基准上,并且官方承诺,新版本对老版本下开发的代码完全兼容。...GO语言关键特性 GO语言之所以厉害,是因为它在服务端的开发中,总能抓住程序员的痛点,以最直接、简单、高效、稳定的方式来解决问题。

93020

GO】《GO HANDBOOK》读书笔记

首先,https://go.dev 是该语言的主页。 下面是首选的入门资源: 从 https://go.dev/doc/install 下载 Go 二进制文件(go 命令和其他相关工具)。...参考 Go 官方文档: https://go.dev/doc/ 查看所有 Go 软件包: https://pkg.go.dev/ 访问 Go Playground: https://go.dev/play...6.编译并运行 Go 程序 本部分接着上一章节的入门程序介绍,解释如何编译并且运行go程序 go run hello.go go run 工具首先编译,然后运行指定的程序。...我们可以使用 go build 创建二进制文件: go build hello.go 个人电脑上执行的结果如下: PS E:\adongstack\go\hello> go build ....7.工作空间 Go有一个特别之处就是我们所说的工作空间。 工作区是 Go 的 "大本营"。 默认情况下,Go 会选择 $ HOME/ go路径,因此你会在主目录中看到一个 go 文件夹。

4910

Go-包管理-go clean

Go是一门支持模块化开发的语言,它提供了一种包管理机制来方便我们管理和复用代码。在开发过程中,我们经常需要清理一些临时文件或编译生成的文件,这时就需要用到go clean命令。...go clean命令go clean命令用于清理Go项目中生成的可执行文件、静态库和其他编译生成的临时文件。使用go clean命令可以帮助我们释放磁盘空间,并保持项目目录的整洁。...以下是go clean命令的一些示例:清理当前目录下的可执行文件和静态库go clean -i上述命令将当前目录下的可执行文件和静态库从$GOPATH/bin和$GOPATH/pkg目录中移除。...清理当前目录下的所有文件go clean -r上述命令将当前目录下的所有文件和子目录中的所有文件从$GOPATH/bin、$GOPATH/pkg和$GOPATH/src目录中移除。...打印当前目录下将要被清理的文件列表go clean -n上述命令将打印当前目录下将要被清理的文件列表,但不实际执行清理操作。

29420

Go 编程 | 连载 01 - Go Quickstart

一、Go 语言 Go 语言概览 Go(Golang) 是由 Google 开源的、静态、强类型的编程语言,Go 语言最初的设计目的是用来替代 C++。...Go 语言在微服务上应用广泛,有许多开发的基于 Go 语言的 RPC 框架,如 kit、go-micro、kratos等;Go 语言还应用于中间件,etcd、influxdb、nsq 等都是基于 Go...二、第一个 Go 程序 Go Hello World makedir go-file cd go-file vim alpha.go Go 程序的第一行是 package main,要在第一行声明所在的包...运行 Go Hello World 在 Go 程序同级目录下执行 go run filename.go 也可以通过 go build 命令将程序编译成可执行的二进制文件 执行编译后的二进制文件...创建项目的两种方式 第一种方式是创建文件夹 go-basic, 进入文件夹执行 init 命令 // 在 go 项目目录中执行 go mod init go-basic 命令执行完会多出一个 go.mod

66020
领券