
len
vector比new[]更安全实用:自动内存管理、边界检查、动态扩容、避免泄漏与未定义行为;new[]易致内存泄漏、误删、异常不安全等问题。
Go包名须全小写、无特殊字符,main包仅用于可执行程序,禁用预声明标识符,推荐目录名与包名一致。
vector比new[]更安全实用:自动内存管理、边界检查、动态扩容、避免泄漏与未定义行为;new[]易致内存泄漏、误删、异常不安全等问题。
可通过数据验证限制Excel单元格字符数:一、设上限,选“文本长度”+“小于或等于”+最大值;二、设区间,选“介于”+最小值与最大值;三、用自定义公式实现动态限制,如=IF($A$1="姓名...
Go包名须全小写、无特殊字符,main包仅用于可执行程序,禁用预声明标识符,推荐目录名与包名一致。
必须用指针传参:结构体含slice/map/chan/interface{}字段、含sync.Mutex等非可复制字段、需修改字段或并发共享;小结构体(16字节)传值更高效。
io.Reader和io.Writer是接口而非具体类型,因它们仅定义Read([]byte)和Write([]byte)行为,支持任意实现类型的灵活组合与复用。
Go中数组是值类型、长度固定,切片是引用类型、底层为三字段结构体;数组传参复制全部数据,切片传参仅复制结构体;append必须接收返回值,nil切片可安全append。
Go函数参数均为值传递,slice/map/chan因底层含指针字段,修改其内容可影响原变量;仅当需修改变量本身或规避大对象拷贝时才用指针传参。
Go中值类型并非天生适合函数式编程,而是因按值传递可自然规避副作用、降低意外共享风险,便于模拟纯函数;但切片、map及含指针的struct仍需显式处理才能保障纯度。