zoukankan      html  css  js  c++  java
  • Golang基础二之基本数据类型

    数据类型
    1.基础类型(basic type)
    2.聚合类型(aggregate type)
    3.引用类型(reference type)
    4.接口类型(interface type)
    
    本篇文章介绍 基础类型
    
    整数
    go 同时具备有符号整数和无符号整数
    
    有符号整数:int8、int16、int32、int64
    无符号整数:uint8、uint16、uint32、uint64
    此外还有两种类型int、uint
    
    类型不同时需要显示转化
    例:
    var apples int32 = 1
    var oranges int16 = 2
    var compote int = apples + oranges  //会报类型不匹配
    改:
    var compote = int(apples) + int(oranges)
    
    浮点数
    go 具有两种大小的浮点数 float32 和 float64
    
    复数
    go 具有两种大小的复数 complex64 和 complex128 ,二者分别由 float32 和 float64 构成。内置的
    complex 函数根据给定的实部和虚部创建复数,而内置的 real 函数和 imag 函数分别提取实部和虚部。
    
    例:
    var x complex128 = complex(1, 2)   // 1+2i
    var y complex128 = complex(3, 4)   // 3+4i
    fmt.Println(x*y)                   // "(-5+10i)"
    fmt.Println(real(x*y))             // "-5"
    fmt.Println(imag(x*y))             // "10"
    
    bool
    if 和 for 语句里的条件就是布尔值
    
    例:
    func btoi(b bool) int {
      if b {
        return 1
      }
      return 0
    }
    
    字符串
    字符串是不可变的字节序列,它可以包含任意数据,包括0值字节
    
    内置的 len 函数返回字符串的字节数。
    例:
    s := "hello,world"
    fmt.Println(len(s))  // "12"
    
    切片:
    fmt.Println(s[0:5])  // "hello"   与python基本一致
    
    4个标准包操作对字符串操作
    1. strings      // 用于搜索、替换、比较、切分、连接字符串
    2. bytes        // 用于操作字节 slice
    3. strconv      // 把字符串转换为布尔值、整数、浮点数,另外有为字符串添加/去除引号的函数
    4. unicode      // 判别字符串值特性的函数,如:IsDigit、IsLetter、IsUpper等
    
    例1:函数向表示十进制非负整数的字符串中插入逗号
    package main
    
    import "fmt"
    
    func comma(s string) string {
    	n := len(s)
    	if n <= 3 {
    		return s
    	}
    	return comma(s[:n-3]) + "," + s[n-3:]  //递归调用
    }
    
    func main() {
    	//comma("12345")
    	fmt.Println(comma("123456789"))
    }
    
    字符串和字节slice相互转换
    s := "abc"
    b := []byte(s)
    s2 := string(b)
    // 概念上,[]byte(s)转换操作会分配新的字节数组,拷贝填入s含有的字节,并生成一个slice引用,指向整个数组。
    
    
    整数转换成字符串
    例:
    x := 123
    y := fmt.Sprintf("%d", x)     // 第一种方法
    fmt.Println(y, strconv.Itoa(x))  // 第二种方法
    
    常量
    所有常量本质上都属于基本类型:布尔型、字符串、数字
    const p = 3
    
    常量生成器 iota
    iota 从0开始取值,逐项加1
    例:
    type Weekday int
    const (
    	Sunday Weekday = iota
      Monday
      Tuesday
      Wednesday
      Thursday
      Friday
      Saturday
    )
    
  • 相关阅读:
    Ajax配合Node搭建服务器,运用实例
    mapMutations m
    seaJS使用教程
    节流函数
    【Gin-API系列】Gin中间件之日志模块(四)
    【Gin-API系列】配置文件和数据库操作(三)
    【Gin-API系列】请求和响应参数的检查绑定(二)
    【Gin-API系列】需求设计和功能规划(一)
    【ansible】api 调用出现ssh交互式输入
    【ansible】api 调试
  • 原文地址:https://www.cnblogs.com/leisunny/p/14523984.html
Copyright © 2011-2022 走看看