zoukankan      html  css  js  c++  java
  • golang array, slice, string笔记

    本来想写一篇关于golang io的笔记,但是在学习io之前必须了解array, slice, string概念,因此将在下篇写golang io.
     
    array:
    数组的长度是该数组类型的一部分,例如var buffer [256]byte 的类型是[256]byte, len(buffer)总是返回256.
     
    slice:
    一个slice描述一个数组中连续的一部分,例如var slice = buffer[100:250]。slice也可以从slice产生,如var slice2 = slice[5:10],其中slice的type是[]byte。slice并不真正存储数据,它只是包含一个指向数据的pointer,你可以把它当成这样的一个结构:
    type sliceHeader struct {
        Length        int
    
        Capacity      int
        ZerothElement *byte
    }
    
    其中Capacity等于slice所指的数组的大小减去ZeroElement的index。我们还可以用make函数来创建slice,slice := make([]int, 10, 15)其中第二个参数是slice的长度,第三个参数是slice的Capacity。或者用直接量slice := []int{0, 1, 2, 3, 4}。
    
    string:
    可以把string看作一个只读的byte slice。例如var sample string = "xdbxb2x3d" 是一个长度为3的byte slice.对于其中非ASCII的unicode数据将被格式化为UTF-8。
    Code point指一个unicode值,由几个byte组成。一个character字符可以由几个Code point,甚至不同的Code point组成。golang使用rune来代表code point,类型为int32,在golang中character都被normalize成一个rune。
  • 相关阅读:
    gRPC .NET Core跨平台学习
    .NET Core性能测试组件BenchmarkDotNet 支持.NET Framework Mono
    ASP.NET Core中间件(Middleware)实现WCF SOAP服务端解析
    gRPC C#学习
    中标麒麟关闭防火墙
    linux安装python
    python matplotlib.pyplot保存jpg图片失败
    python正态分布
    数据健康管理总结
    python使用statsmodel
  • 原文地址:https://www.cnblogs.com/daizuozhuo/p/4231992.html
Copyright © 2011-2022 走看看