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 类型的值转换为对应的字符串类型

  • 相关阅读:
    ionic localstorage
    angular 中文鏈接
    把jqmobi 變成jQuery 的插件 從此使用jQuery
    jqmobi 的一些設置
    ionic ngcordova map 地圖
    ionic pull to refresh 下拉更新頁面
    json 對象的序列化
    鍵盤彈出,頁面佈局被推上去了.....
    Cordova V3.0.0中config.xml配置文件的iOS Configuration
    android ios 只能輸入數字 不能輸入小數點的 函數 cordova
  • 原文地址:https://www.cnblogs.com/xuezhihao/p/11983225.html
Copyright © 2011-2022 走看看