学习go语言的一点体会
例如:
1:var i *int 光这一句,你就要知道它是nil指针,指向内存地址是0的,i==nil ,用它调用方法,赋值,都是错的,因为go中0-255的内存地址是系统留用的,不允许任何操作。你要知道空指针!=nil,只有指针的动态类型和动态值都为空,才等于nil,空指针只是动态值为空,动态类型不为空,那它就!=nil,这在实际使用中有可能会出错。
2: for k,v:=range t ,你要知道t只是个复制的副本,v只是每次复制值,地址不会变,所以不要用&v,否则永远取到最后一次循环v的地址。
3: 例如 切片,你从数组中用s[i:j]来截取生成切片,其实切片底层也是数组,和原数组是共享的,所以你改了切片某个元素的值,对应原数组某个元素的值也变了。
4:例如切片,用append加元素,超过容量,就会生成新的内存地址的切片,你如果原切片在main中,append在一个函数中,没有返回新切片,你会发生main中的老切片不会有任何变化。
5:例如一个函数 func test() r int {
defer func(){
......
}()
return 6
}
return r=6不是原子操作
它可以分解成3步
一:r=6
二:执行defer
三:空的return
.......
太多了,所以不要急着研究框架,研究别人代码,有空先把基础打好,否则做出来的东西,一旦有问题,查还不好找原因。我就遇到这事,一个go exe服务程序,总是运行几天崩溃,最后折腾好久其实就是基础没掌握好的事。
相关推荐
基于springboot+vue的摄影作品社区(项目源码)
基于springboot+vue的摄影作品社区(项目源码) 系统采用前后端分离的 B/S 架构。后端基于 Spring Boot 2.7.2 与 Java 1.8 构建,以 MyBatis-Plus 完成数据访问、PageHelper 实现分页,用 MySQL 8 存储业务数据;身份认证采用 Sa-Token 轻量级框架并整合 JWT 令牌,配合 Redis 实现图形验证码缓存与会话存储;前端使用 Vue 3 与 Naive UI 构建界面,由 Vite 完成构建,看板统计图表基于 ECharts 渲染。系统面向普通用户与管理员两类角色:用户端提供注册登录、作品上传与归档、多条件检索浏览、作品集管理、分类与标签管理、摄影圈专题、回收站、个人设置与公告查看等功能;管理端提供数据看板、用户管理与公告管理等功能。
Vue基于springboot的乡村生态旅游平台_k2864o48毕业设计源码数据库.zip
Vue基于springboot的乡村生态旅游平台_k2864o48毕业设计源码数据库
Python3 datetime时区避坑指南
原生datetime.now()获取本地时间,不带时区属性,属于 naive时间,跨服务器比对会报错。带时区时间使用datetime.astimezone,强制绑定东八区时区。禁止手动加减8小时修改时差,夏令时更新会导致时间错误。时间计算:timedelta直接实现天数、小时增减,无需手动换算秒数。字符串解析使用strptime,格式化使用strftime,格式符号严格区分大小写,%Y四位年份、%y两位年份极易写错。线上时间异常大多源于时区不统一。 yc.ahsalar.com qsvsnks.yihucx.com tongjiang.xilaohan.com lq.aasmile.com xj.banutech.net
前端开发基于history.js的HTML5与HTML4浏览器兼容方案:单页应用无刷新历史状态管理技术实现-jcbbroJ3l1792421687
内容概要:本文系统介绍了如何利用history.js实现单页应用(SPA)在HTML5c与HTML4浏览器间s草错发的无缝历史状态管理。通过封装原生History API并在不支持的浏览器中自动降级为哈希路由,history.js解决了因浏览器兼容性导致的后退按钮失效、URL混乱等问题。文章详细讲解了其核心机制,包括状态对象管理、自动模式切换(HTML5 pushState vs HTML4 哈希)、状态数据持久化以及针,对Safari、IE等浏\览器的兼容性修复方案,并提供了从入门到实战的完整示例,涵盖初始化、事,件监听、页面加载及性能优化技巧。;jcbbroJ3l1792421687 www.kfshiye.com www.wap.kfstjx.com www.kuaicai-mro.com lianyingjs.com www.kdd888.com
MATLAB实现了约束感知混合水波和灰狼优化,用于作物规划。.zip
1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。


