import "workname/packetfolder"
导入多个包
方法调用 包名.函数//不是函数或结构体所处文件或文件夹名
packagename.Func()
前面加个点表示省略调用,那么调用该模块里面的函数,可以不用写模块名称了:
当导入一个包时,该包下的文件里所有init()函数都会被执行,然而,有些时候我们并不需要把整个包都导入进来,仅仅是是希望它执行init()函数而已.下划线的作用仅仅是为了调用init()函数,所以无法通过包名来调用包中的其他函数
import _ package
变量声明必须要使用否则会报错.
全局变量运行声明但不使用.
使用大小来区分函数可见性
大写是public类型
小写是private类型
func prifunc int{}
func pubfunc int{}
声明静态变量
const value int
定义变量
var value int
声明一般类型、接口和结构体
声明函数
func function () int{}
go里面所有的空值对应如下
通道类型
内建函数 new 用来分配内存,它的第一个参数是一个类型,不是一个值,它的返回值是一个指向新分配类型零值的指针
func new(Type) *Type
[这位博主有非常详细的分析]
Go 语言支持并发,我们只需要通过 go 关键字来开启 goroutine 即可.
goroutine 是轻量级线程,goroutine 的调度是由 Golang 运行时进行管理的.
同一个程序中的所有 goroutine 共享同一个地址空间.
语法格式如下:
通道(channel)是用来传递数据的一个数据结构.
通道的声明
通道可用于两个 goroutine 之间通过传递一个指定类型的值来同步运行和通讯.操作符 - 用于指定通道的方向,发送或接收.如果未指定方向,则为双向通道.
[这里有比较详细的用例]
go里面的空接口可以指代任何类型(无论是变量还是函数)
声明空接口
go里面的的强制类型转换语法为:
int(data)
如果是接口类型的强制转成其他类型的语法为:
go里面的强制转换是将值复制过去,所以在数据量的时候有比较高的运行代价
在本节中,您将添加通用函数调用的修改版本,进行小的更改以简化调用代码.您将删除在这种情况下不需要的类型参数.
当 Go 编译器可以推断您要使用的类型时,您可以在调用代码中省略类型参数.编译器从函数参数的类型推断类型参数.
请注意,这并不总是可能的.例如,如果您需要调用没有参数的泛型函数,则需要在函数调用中包含类型参数.
在 main.go 中,在您已有的代码下方,粘贴以下代码.
在此代码中:
(1)调用泛型函数,省略类型参数.
从包含 main.go 的目录中的命令行,运行代码.
此时此刻呢,您将通过将整数和浮点数的并集捕获到您可以重用的类型约束(例如从其他代码中)来进一步简化函数.
正如您将在本节中看到的,约束接口也可以引用特定类型.
①.、编写代码
b.在您已有的函数下方,粘贴以下通用 SumNumbers函数.
c.在 main.go 中,在您已有的代码下方,粘贴以下代码.
(1)调用SumNumbers打印每个map的总和.
与上一节一样,在调用泛型函数时省略了类型参数(方括号中的类型名称).Go 编译器可以从其他参数推断类型参数.
做得很好!您刚刚学习了 Go 中的泛型.
for(int i = 0; i height; i ◆◆)
{
const QRgb *pSrc = (QRgb *)image.constScanLine(i);
uchar *pDest = (uchar *)ret.scanLine(i);
for( int j = 0; j width; j ◆◆)
pDest[j] = qGray(pSrc[j]);
}
break;
return ret;
本文介绍一些Go语言的基础语法.
先来看一个简单的go语言代码:
go语言的注释方法:
代码执行结果:
下面来进一步介绍go的基础语法.
go语言中格式化输出可以使用 fmt 和 log 这两个标准库,
常用方法:
示例代码:
执行结果:
更多格式化方法可以访问中的fmt包.
log包实现了简单的日志服务,也提供了一些格式化输出的方法.
下面来介绍一下go的数据类型
下表列出了go语言的数据类型:
int、float、bool、string、数组和struct属于值类型,这些类型的变量直接指向存在内存中的值;slice、map、chan、pointer等是引用类型,存储的是一个地址,这个地址存储最终的值.
常量是在程序编译时就确定下来的值,程序运行时无法改变.
Go 语言的运算符主要包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符以及指针相关运算符.
算术运算符:
关系运算符:
逻辑运算符:
位运算符:
赋值运算符:
指针相关运算符:
下面介绍一下go语言中的if语句和switch语句.另外还有一种控制语句叫select语句,通常与通道联用,这里不做介绍.
if语法格式如下:
if ... else :
else if:
语法格式:
另外,添加 fallthrough 会强制执行后面的 case 语句,不管下一条case语句是否为true.
下面介绍几种循环语句:
也可以通过标记退出循环:
--THE END--
在本节中,您将使用 Go 执行 SQL INSERT语句以向数据库添加新行.
您已经了解了如何使用Query和QueryRow处理返回数据的 SQL 语句.要执行 不 返回数据的 SQL 语句,请使用Exec.
①.、在albumByID下面,粘贴以下addAlbum函数以在数据库中插入新专辑,然后保存 main.go.
(1)用DB.Exec执行INSERT语句.
Exec接受一条 SQL 语句,后跟 SQL 语句的参数值.
在main函数末尾添加以下代码.
在新代码中:
(1)调用addAlbum添加新专辑,将要添加的专辑的 ID 分配给albID变量.
从包含 main.go 目录的命令行中,运行代码.
恭喜!您刚刚使用 Go 对关系数据库执行了简单的操作.
本节包含您使用本教程构建的应用程序的代码.
以上就是土嘎嘎小编为大家整理的go语言代码合集相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!