zoukankan      html  css  js  c++  java
  • golang变量2

    fmt方法总结:

        s := "hello,world!"
        fmt.Println(s)
        fmt.Printf("%T
    ", s)  // 查看变量的类型
        fmt.Printf("%v
    ", s)  // 查看变量的值
        fmt.Printf("%#v
    ", s) // 变量的值加引号
        fmt.Printf("%b
    ", s)  // 查看二进制

    使用··反引号或者反斜杠\去除特殊含义

    字符串常用操作:

    len长度
    +或者fmt.Sprintf拼接
    split分割
    contains是否包含
    index子串出现的位置
    join

       &:获取变量的内存地址

      * :根据内存地址去除地址指向的值

      每个变量都拥有地址,指针的值就是地址

      对变量进行取址操作使用&操作符,可以获得这个变量的指针变量

      指针变量的值是指指针内存地址

      对指针变量进行取值操作使用*操作符,可以获得指针变量指向的原变量的值

      每次获取指针地址都会发生变化

    另一种创建指针方法new()

    str := new(string)

    *str = "qqq"

    fmt.PrintIn(*str)

    变量逃逸分析:

       在某个方法之内创建的对象,除了在方法体之内被引用之外,还在方法体之外被其他变量引用到,这样在该方法执行完毕之后,无法被GC回收,由于其被其他变量引用。

      正常的方法调用中,方法体中创建的对象将在执行完毕之后,回收其中创建的对象,无法回收,就成了逃逸。

      1.如果分配到栈上,待函数返回资源就被回收了

      2.如果分配到堆上,函数返回后交给gc来管理该对象资源

       逃逸分析为了减少GC的压力。

    内存分配机制:

    内存管理子系统主要由两部分组成:内存分配器和GC,内存分配器主要解决小对象(小于等于32k的对象)分配管理和多线程内存分配。

    堆:用来存放被动态分配的内存段,大小不固定,可动态扩张或缩减。

    栈:存放程序暂时创建的局部变量,就是函数中大括号{}中定义的局部变量。

     关键字:

    break default  func interface select
    case defer go map struct
    chan else goto package switch
    const fallthrough if range type
    continue for import return var

    Itoa():整型转字符串

    Atoi():字符串转整型

    ParseBool() 函数用于将字符串转换为 bool 类型的值,它只能接受 1、0、t、f、T、F、true、false、True、False、TRUE、FALSE,其它的值均返回错误

    ParseInt() 函数用于返回字符串表示的整数值(可以包含正负号)

    ParseUint() 函数的功能类似于 ParseInt() 函数,但 ParseUint() 函数不接受正负号

    ParseFloat() 函数用于将一个表示浮点数的字符串转换为 float 类型

    FormatBool() 函数可以一个 bool 类型的值转换为对应的字符串类型

  • 相关阅读:
    【Prince2科普】Prince2七大主题之概论
    浅谈PRINCE2和PMP体系架构有何区别?
    Prince2是怎么考试的?
    Reporting Service服务SharePoint集成模式安装配置(3、4、安装sharepoint 2010必备组件及产品)
    Reporting Service服务SharePoint集成模式安装配置(1、虚拟机+ 2、AD域环境配置)
    DB2 添加license
    db2中临时表在存储过程中的使用
    DB2 函数快速构造测试数据
    db2 中 SQL判断物理表是否存在、修改表名
    DB2触发器简单例子
  • 原文地址:https://www.cnblogs.com/xuezhihao/p/11983225.html
Copyright © 2011-2022 走看看