【go语言学习-笔记4】教程文章相关的互联网学习教程文章

Go语言(工程和包)【图】

在Go语言中,包是函数与数据的集合,用package定义一个包,包的名字不一定要跟文件名字一样,接下来,将学习如何使用Go语言的包。 首先,我们创建一个Stack包,然后用一个主程序来调用这个包里面的方法。这实际上涉及到Go语言中的工程的分包和编译。Go语言是这么来配置它的工程的,如下图 其中package是工程的根目录,我们需要事先设置环境变量GOPATH,如下 而bin目录和pkg目录是go编译自动生成的,而src是手动创建的。所...

go语言的环境变量【代码】

在命令提示符下输入 go envset GOARCH=amd64 //CPU的架构 set GOBIN= //工作目录下的BIN文件夹 set GOEXE=.exe set GOHOSTARCH=amd64 //想要交叉编译的CPU架构 set GOHOSTOS=windows //想要交叉编译的操作系统 set GOOS=windows //当前的操作系统 set GOPATH=D:\gopath //工作目录 set GORACE= set GOROOT=C:\Go //安装目录 set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64 set GO15VENDOREXPERIMENT= set CC=gcc set GOGCCFLAGS=-m64...

go语言 strconv.ParseInt 的例子【代码】

golang strconv.ParseInt 是将字符串转换为数字的函数,功能灰常之强大,看的我口水直流.func ParseInt(s string, base int, bitSize int) (i int64, err error)参数1 数字的字符串形式参数2 数字字符串的进制 比如二进制 八进制 十进制 十六进制参数3 返回结果的bit大小 也就是int8 int16 int32 int64代码:package mainimport ("strconv" )func main() {i, err := strconv.ParseInt("123", 10, 32)if err != nil {panic(err)}printl...

Go语言基础之网络编程【代码】

现在我们几乎每天都在使用互联网,我们前面已经学习了如何编写Go语言程序,但是如何才能让我们的程序通过网络互相通信呢?本章我们就一起来学习下Go语言中的网络编程。 关于网络编程其实是一个很庞大的领域,本文只是简单的演示了如何使用net包进行TCP和UDP通信。如需了解更详细的网络编程请自行检索和阅读专业资料。互联网协议介绍互联网的核心是一系列协议,总称为”互联网协议”(Internet Protocol Suite),正是这一些协议规定...

Go语言程序开发初涉【图】

由于工作原因,现在开始学习Go语言。这也是本人第一篇关于Go的博客。本文将通过一些基本概念的说明和实际案例,使得大家能快速对Go程序的开发有个了解。一. Go的安装 : 在 https://www.studygolang.com/dl 上可下载到go的各个平台的安装程序,安装过程在此忽略,安装后,在{Go的主目录}后称GOROOT下有个bin目录,下面有个go的可执行程序,这个程序我们可称之为 go tool。这个go tool在安装时一般会被配置到PATH的环境变量中。...

【Go语言】笔记【代码】

未归档知识点字符串末尾可以追加其他数据,但是不能修改原来的值使用reflect包可以输出变量的类型 浮点数不指定默认是float64package main import ( "fmt";"reflect" ) func main() {s := "aaa"i := 10f := 1.2fmt.Println(reflect.TypeOf(s))fmt.Println(reflect.TypeOf(i))fmt.Println(reflect.TypeOf(f)) } 数据转换 资料string ? boolpackage main import ( "fmt";"reflect";"strconv") func main() {var s string = strconv...

go语言-使用swig转化C++代码为go所用【代码】【图】

服务端的某个项目,要考虑到性能问题,之前使用基于公司框架的php,性能有瓶颈,经过调研,决定使用go。因为之前有一个关键模块已经使用c++实现,所以计划使用go做HTTP容器,让go和c++模块结合起来。 在网上调研结合方案,go自带的cgo只支持c语言,swig工具可以支持多种语言结合c++,所以决定使用swig,这里简要叙述下swig的使用和一些发现的要点。 1. 我们解压了swig后,首先要根目录运行configure和make,这样会生成各个子目录...

学习go语言的第一天

Go语言优势: ?静态语言,强类型。静态编译能帮我们检查出来大量的错误,go的强类型甚至变态到不支持隐式的类型转换。 ?gofmt,应该这是我知道的第一个官方提供统一格式化代码工具的语言了。有了gofmt,大家的代码长一个样了,也就没有花括号到底放到结尾还是新开一行这种蛋疼的代码风格讨论了。因为大家的代码风格一样,所以看go的代码很容易。 ?天生的并行支持,因为goroutine以及channel,用go写分布式应用,写并发程序异常...

Go语言的变量【代码】

目录1.Go语言的变量1.1变量的概念1.2变量使用的步骤1.3变量使用的注意事项1.4Golang变量使用的三种方式:1.5多变量声明:1.6声明全局变量1.Go语言的变量1.1变量的概念? 变量是相当于内存中一个数据存储空间的表示,你可以把变量看作是一个房间的门牌号,通过门牌号我们可以找到房间,同样的道理,通过变量可以访问到变量(值)。1.2变量使用的步骤声明变量(有人也叫定义变量)//基本语法:var 变量名 数据类型 //注意:golang的语...

浅析Go语言的Interface机制【代码】

前几日一朋友在学GO,问了我一些interface机制的问题。试着解释发现自己也不是太清楚,所以今天下午特意查了资料和阅读GO的源码(基于go1.4),整理出了此文。如果有错误的地方还望指正。GO语言的interface是我比较喜欢的特性之一。interface与struct之间可以相互转换,struct不需要像JAVA在源码中显示说明实现了某个接口,可以通过约定的形式,隐式的转换到interface,还可以在运行时查询接口类型,这样有种用动态语言写代码的感觉...

Go语言介绍【代码】

Go语言简介Go语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。Go语言主要特征1、可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了。 2、静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有...

区块链技术基础语言(三十二):Go语言网络编程(下)【图】

本文紧接上文所述,讲解socket编程和HTTP编程。一、socket编程在上一节我们介绍了网络体系的五层模型,介绍了每层模型所遵守的协议。TCP/IP是一个协议族,它由网络层的IP协议和传输层的TCP协议组成,其中网络层建立了主机到主机的通信,传输层建立了端口到端口的通信。只要确定主机和端口,就能实现程序之间的交流。因此,Unix系统把主机+端口,叫作“套接字(socket)”,而socket本质上是编程接口(API),它是对TCP/IP的封装。有了...

# 3、Go语言基础之运算符【代码】

3、Go语言基础之运算符1、运算符Go 语言内置的运算符有:算术运算符关系运算符逻辑运算符位运算符赋值运算符1.1算数运算符运算符描述+相加-相减*相乘/相除%求余注意: ++(自增)和--(自减)在Go语言中是单独的语句,并不是运算符。package mainimport "fmt"func main() {var (a = 10b = 3)fmt.Println(a + b) //13fmt.Println(a - b) //7fmt.Println(a * b) //30fmt.Println(a / b) //3fmt.Println(a % b) //1 } 1.2关...

Go语言 对集合操作与链式处理实例【代码】

使用 SQL 语言从数据库中获取数据时,可以对原始数据进行排序(sort by)、分组(group by)和去重(distinct)等操作,SQL 将数据的操作与遍历过程作为两个部分进行隔离,这样操作和遍历过程就可以各自独立地进行设计,这就是常见的数据与操作分离的设计。对数据的操作进行多步骤的处理被称为链式处理程序代码: package mainimport ("fmt""strings" )/* 字符串切片和处理链函数 */ func StringProcess(list []string, chain []fu...

【Go语言】集合与文件操作【代码】

本文目录 1.数据集合的主要操作1_1.字典的声明1_2.字典的初始化和创建1_3.字典的访问和操作1_4.其他类型的数据集2.文件操作2_1.文件操作概述os包和path包2_2.文件操作示例目录操作:打开与建立文件:写文件 :读文件:删除文件:回到顶部1.集合以及主要操作 首先要提到的是Go语言的内置数据类型map(字典类型 类似于Java中的HashMap和Swift中的Directory),这样你无需导入任何包便可 使用map类型了。map是一种特殊的数据结构,它是由...