1、Go语言fmt包详解
   fmt.Println()  ###常用打印
fmt.Print()
fmt.Printf() ###格式化
fmt.Sprintf() ###字符串拼接
  a)普通占位符
     占位符          说明                                举例
%v 以默认的方式打印变量的值     fmt.Printf("%v", site)
%+v 在打印结构体时,会添加字段名   fmt.Printf("%+v", site)
%#v 在打印结构体时,会添加字段名和包名   fmt.Printf("%#v", site)
%T 打印变量的类型   fmt.Printf("%T", site)
%% 字面上的百分号,并非值的占位符   fmt.Printf("%%")
%t 打印true或false   fmt.Printf("%t", true)
%s 输出字符串表示(string类型或[]byte)   fmt.Printf("%s", []byte("oldboy"))
%d 表示为十进制    fmt.Printf("%d", 0x12)
%o 表示为八进制    fmt.Printf("%d", )
%x 十六进制表示,字母形式为小写 a-f     fmt.Printf("%x", )
%p 十六进制表示,前缀 0x    fmt.Printf("%p", &site) ##指针
2、Go语言字符串
a)字符串定义
1、双引号,用来创建可解析的字符串字面量
       str := "Go语言字符串\n不能跨行赋值"
         2、反引号,用来创建原生的字符串字面量 ,这些字符串可能由多行组成(不支持任何转义序列),
原生的字符串字面量多用于书写多行消息、HTML以及正则表达式。
       str := `Go原生原格式字符串
可以跨行`
   b) 字符串拼接
1、直接使用 "+" 运算符链接
       str := "hello" + "girl"
         2、使用 fmt.Sprintf() 拼接
       str := fmt.Sprintf("%s,%s", "hello", "girl")
         3、使用 strings.Join() 拼接
       str := strings.Join([]string{"hello", "girl"}, ",")
         4、使用 buffer.WriteString() 拼接
         var buffer bytes.Buffer
buffer.WriteString("hello")
buffer.WriteString(",")
buffer.WriteString("girl")
str := buffer.String()
      总结:
1. 在已有字符串数组的场合,使用 strings.Join() 能有比较好的性能;
2. 在一些性能要求较高的场合,尽量使用 buffer.WriteString() 以获得更好的性能;
3. "+" 运算符在较少字符串连接的场景下性能最好,而且代码更简短清晰,可读性更好;
4. 如果需要拼接的不仅仅是字符串,还有数字之类的其他需求的话,可以考虑 fmt.Sprintf()。 3、string包详解
1、计算字符串长度 len() (存在中文,必须先转为[]byte或[]rune)
      length := len([]rune(str))
      2、字符串切片
      str := str[:]
      3、判断给定字符串s中是否包含子串substr, 找到返回true, 找不到返回false
      strings.Contains("oldboy", "boy")
      4、在字符串s中查找子串所在的位置, 返回位置值, 找不到返回-1
      strings.Index("oldboy", "boy")
      5、统计给定子串sep的出现次数, sep为空时, 返回字符串的长度 + 1
      strings.Count("oldboy", "o")
      6、重复s字符串count次, 最后返回新生成的重复的字符串
      strings.Repeat("嘀嗒", )
      7、在s字符串中, 把old字符串替换为new字符串,n表示替换的次数,如果n<0会替换所有old子串。
      strings.Replace("luck luck luck", "k", "ky", )
      8、删除在s字符串的头部和尾部中由cutset指定的字符, 并返回删除后的字符串
      strings.Trim("   oldboy   ", " ")
      9、大小写转换
      strings.Title("It is never too late to learn.")     //转为标题
strings.ToLower("It Is Never Too Late To Learn.") //转为小写
strings.ToUpper("It is never too late to learn.") //转为大写
      10、字符串前缀后缀
      strings.HasPrefix("oldboy", "old")    //前缀判断
strings.HasSuffix("oldboy", "boy") //后缀判断
      11、字符串分割
      strings.Split("Linux,Python,Golang,Java", ",")
4、数组
1、一维数组定义
1) 声明一个长度为5的整数数组
          var array []int
            2) 声明一个长度为5的整数数组并初始化
          var array []int = []int{, , , , }
            3) 如果你把长度写成…,Go编译器将会根据你的元素来推导出长度
           array := [...]int{, , , , }
            4) 声明一个长度为5的整数数组,为索引为1和3的位置指定元素初始化,剩余元素为该元素类型的默认值
           array := []int{: , : }
      2、多维数组定义
1) 声明一个二维数组
          var array [][]int
            2) 使用数组字面值声明并初始化
          array := [][]int{{, }, {, }, {, }, {, }}
            3) 指定外部数组索引位置初始化
          array := [][]int{: {, }, : {, }}
            4) 同时指定内外部数组索引位置初始化
          array := [][]int{: {, }, : {, }}
注意:使用内置函数len()和cap()返回数组长度和数组容量,且其余操作和其他语言一直,通过索引增删改查

5、类型转换   (strconv包实现了基本数据类型和其字符串表示的相互转换)
1、字符串转字节
        var str string = "oldboy"
result := []byte(str)
      2、32位整形转字节
        var x int32
x =
bytesBuffer := bytes.NewBuffer([]byte{})
binary.Write(bytesBuffer, binary.BigEndian, x)
result := bytesBuffer.Bytes()
    类型转换详细查阅:http://docscn.studygolang.com/pkg/strconv/

Go语言基本类型的更多相关文章

  1. 生成跨语言的类型声明和接口绑定的工具(Djinni )

    Djinni 是一个用来生成跨语言的类型声明和接口绑定的工具,主要用于 C++ 和 Java 以及 Objective-C 间的互通. 示例接口定义文件: # Multi-line comments ...

  2. C语言指针类型 强制转换

    关于C语言指针类型 强制转换  引用一篇文章: C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值.不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个 ...

  3. 如何用一个语句判断一个整数是不是二的整数次幂——从一道简单的面试题浅谈C语言的类型提升(type promotion)

    最近招聘季,看JULY大哥的面试100题时,碰到这么一个扩展问题: 如何用一个语句判断一个整数是不是二的整数次幂?(此题在编程之美也有) easy, 2的整数次幂的二进制形式只有一个1,只要用i和i- ...

  4. c语言的类型、运算符与表达式

    title: 2017-10-17c语言的类型.运算符与表达式 tags: c程序设计语言 grammar_cjkRuby: true --- 1.1 数据类型 char 字符型,一个字节 int 整 ...

  5. 3. Go语言基本类型

    Go语言基本类型如下: bool string 数值类型 (int8, int16, int32, int64, int, uint8, uint16, uint32, uint64, uint, f ...

  6. [编程] C语言枚举类型(Enum)

    C语言枚举类型(Enum):定义形式为:enum typeName{ valueName1, valueName2, valueName3, ...... };enum 类型名{名字1,名字2} 枚举 ...

  7. Swift 语言附注 类型

    本页包括内容: 类型注解(Type Annotation) 类型标识符(Type Identifier) 元组类型(Tuple Type) 函数类型(Function Type) 数组类型(Array ...

  8. 学习Golang语言(6):类型--切片

    学习Golang语言(1): Hello World 学习Golang语言(2): 变量 学习Golang语言(3):类型--布尔型和数值类型 学习Golang语言(4):类型--字符串 学习Gola ...

  9. C语言-整数类型

    C语言-整数类型 整数类型 Reg为寄存器 字长,是说这个寄存器是多少宽的,每个寄存器可以表示32bit数据,也是说CPU与RAM每一次传递的数据也是32bit 计算机内部一切都是二进制 所有的类型, ...

  10. C语言-字符类型

    C语言-字符类型 char不仅是一种整数,也是一种特殊的类型:字符(character). 常用单引号表示字符的字面量,如'a', '1'. 单引号''也是一个字符,printf和scanf里用的%c ...

随机推荐

  1. linux 软件安装目录详解

    我一般会在/opt目录下创建 一个software目录,用来存放我们从官网下载的软件格式是.tar.gz文件,或者通过 wget+地址下载的.tar.gz文件 执行解压缩命令,这里以nginx举例 t ...

  2. SpringMVC基础02——HelloWorld

    1.搭建环境 博主使用的环境是IDEA2017.3,首先我们需要创建一个maven项目父项目,创建一个project,选择maven,之后点击next 添写当前项目的坐标,之后点击next 填写项目名 ...

  3. 12、rpm

    1.什么是rpm 由红帽开发用于软件包的安装 升级 卸载 查询 2.rpm包是什么样? 组成部分是什么样的? zip-3.0-11.el7.x86_64.rpm #el7 zip-3.0-1. el6 ...

  4. 6.redis

    1.Redis的安装以及客户端连接 安装:apt-get install redis-server 卸载:apt-get purge --auto-remove redis-server 启动:red ...

  5. Red Hat Enterprise Linux 6安装好,开启网卡到搭建tftp服务器和安装dnw驱动,安装samba服务器

    今天一顿误操作,只能把Red Hat Enterprise Linux 6重新安装,一些必备工作只能重做,重做之后立马把Linux的文件备份,以备不时只需! 开启Linux以太网卡:vim /etc/ ...

  6. PAT Basic 1009 说反话 (20 分)

    给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小 ...

  7. SQLServer中跨服务器跨数据库之间的数据操作

    首先必须理解一个概念: select * from sys.servers         (查看系统表,看原来的服务器名) 要想跨域就必须在以上信息中可以检索到! 怎样添加? --创建链接服务器  ...

  8. HDU - 4431 Mahjong (模拟+搜索+哈希+中途相遇)

    题目链接 基本思路:最理想的方法是预处理处所有胡牌的状态的哈希值,然后对于每组输入,枚举每种新加入的牌,然后用哈希检验是否满足胡牌的条件.然而不幸的是,由于胡牌的状态数过多(4个眼+一对将),预处理的 ...

  9. HDU - 6589 Sequence (生成函数+NTT)

    题目链接 设序列a的生成函数$\large f(x)=\sum\limits_{i=0}^{n-1}a_ix^i$,则操作1,2,3分别对应将$f(x)$乘上$\Large\frac{1}{1-x}, ...

  10. 前端js之BOM和DOM操作

    目录 引入 BOM操作 window对象 history对象 location对象(重点) 弹出框 定时器 计时器相关 DOM 查找标签 直接查找 间接查找 节点操作 创建节点及添加节点 删除节点 替 ...