go语言中append函数的使用
go语言中append处理slice
每次调用appen都会根据当前的cap对slice进行评估, 如果cap不够,就按照2倍长度进行扩容
package mainimport ("fmt"
)/*
append 是在slice原有的基础上,添加新元素
若是原先就是长度,不会替换原先的元素,而是在后面进行增加
*/
func append1() {fmt.Println("========================append1=======================")s := make([]int, 5)fmt.Println("len = ", len(s), "cap = ", cap(s))s = append(s, 1, 2, 3)fmt.Println("len = ", len(s), "cap = ", cap(s))fmt.Println(s)
}/*
每次调用append函数都会根据当前slice的长度和cap计算,若是不够会按照2倍的形式进行扩容
*/
func append2() {fmt.Println("==========================append2=====================")s := make([]int, 0)fmt.Println("len = ", len(s), "cap = ", cap(s))s = append(s, 1, 2, 3, 4)fmt.Println("len = ", len(s), "cap = ", cap(s))fmt.Println(s)s = append(s, 1)fmt.Println("len = ", len(s), "cap = ", cap(s))fmt.Println(s)
}/*
go语言里面函数返回值错误:
1. 函数返回值,只有一个时可以不命名,命名时需要加上括号
2. 多个返回值,只要有一个命名,剩余的也要进行命名func funcMui(x, y int) (sum int, error) {return x + y, nil
}
3. 多个返回值可以都不命名,但是需要加上括号
func funcMui(x, y int) (int, error, int) {return x + y, nil, 3
}
*/func funcMui(x, y int) (int, error, int) {return x + y, nil, 3
}/*
new 和make的区别
new和make都是go语言的内建函数,用来分配内存,但是适用类型不同
new(T)会为T类型的新值分配已置零的内存空间,并且返回地址,如数组结构体等
make(T, args)返回初始化之后的T类型的值,这个值并不是T类型的零值,也不是指针*T
是经过初始化之后T的引用, make只适用于slice, map和channel
*/func main() {append1()append2()_,_,_ = funcMui(2, 3)
}
执行输出:
========================append1=======================
len = 5 cap = 5
len = 8 cap = 10
[0 0 0 0 0 1 2 3]
==========================append2=====================
len = 0 cap = 0
len = 4 cap = 4
[1 2 3 4]
len = 5 cap = 8
[1 2 3 4 1]
go语言中append函数的使用相关推荐
- map python函数_Python语言中map函数
本文主要向大家介绍了Python语言中map函数,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 1.对可迭代函数'iterable'中的每一个元素应用'function'方法,将 ...
- 关于C语言中printf函数“输出歧视”的问题
目录 关于C语言中printf函数"输出歧视"的问题 问题描述 探索问题原因 另一种研究方法 问题结论 关于C语言中printf函数"输出歧视"的问题 问题描述 ...
- C语言中atoi()函数的用法
C语言中atoi()函数的用法 一.学习要点: 1.int atoi(const char *str)把参数str所指向的字符串转换为一个整数: 二.代码 #include<stdio.h> ...
- r语言中c函数错误,R语言中c()函数与paste()函数的区别说明
c()函数:将括号中的元素连接起来,并不创建向量 paste()函数:连接括号中的元素 例如 c(1, 2:4),结果为1 2 3 4 paste(1, 2:4),结果为"1 2" ...
- C语言中main函数的研究,以及对代码断点调试的研究(王爽老师 汇编语言)
版权声明:本文为博主原创文章,未经博主允许不得转载. 我们知道作为一个语言本身是不会有诸如从main函数开始运行这样的条件(深层次的说 底层汇编代码不会指定从mian函数开始的这样的条件,程序开始的位 ...
- 浅析C语言中strtol()函数与strtoul()函数的用法
这篇文章主要介绍了浅析C语言中strtol()函数与strtoul()函数的用法,注意其将字符串转换成long型的区别,需要的朋友可以参考下 头文件: ? 1 #include <stdlib. ...
- c语言memcopy_C语言中memcpy 函数的用法详解
C语言中memcpy 函数的用法详解 memcpy(内存拷贝函数) c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址 ...
- c语言中memcpy函数_带有示例的C中的memcpy()函数
c语言中memcpy函数 memcpy()函数 (memcpy() function) memcpy() is a library function, which is declared in the ...
- c语言中 调用函数除函数名外,【单选题】在 C 语言中 , 调用函数除函数名外 , 还必须有 ( ). (10.0分)
A. 函数预说明 B. 实际参数 C. ( ) D. 函数返回值...
[单选题]在 C 语言中 , 调用函数除函数名外 , 还必须有 ( ). (10.0分) A. 函数预说明 B. 实际参数 C. ( ) D. 函数返回值 更多相关问题 下列关于IMOECDIS性能标 ...
最新文章
- python indexerror_python – “IndexError:位置索引器超出范围”,当它们明显没有时
- SpringMVC注解@RequestParam全面解析
- MySQL CURDATE() 函数
- linux中top工具,Linux命令工具 top详解
- 45套精美的 ( Android, iPhone, iPad ) 手机界面设计素材和线框图设计工具
- Sublime2 配置python 和 c++
- eclipse中配置heritrix1.14.3
- DirectX修复工具使用技巧之二——手动修复C++创建失败的文件
- 计算机声音控制程序,怎么管理电脑各程序的音量-单独调节各个程序音量的方法 - 河东软件园...
- dx11 Shaders for maya
- 服务器时间和系统时间不同步,电脑时间不同步怎么办 电脑时间同步不了的解决方法【详解】...
- 基于CIM的智慧城市建设
- “女人~,你在玩火”一个有磁性的声音说道——常用自动化测试工具
- oracle_j000,DBA手记:System State转储之ROW CACHE对象
- 为不喝的朋友准备的!如何委婉地拒绝劝酒
- HMM(隐马尔可夫)笔记
- 阻塞队列(一):ArrayBlockingQueue
- percona-tool文档说明(总)
- 龙岭迷窟真的这么好看?今天我们就用 Java 爬取豆瓣数据好好分析一下!
- .ttf字体文件引入vue项目及使用