go学习笔记啊4.数据类型和数据转换

package main
import "fmt"
import "unsafe"
import "strconv"
//全局变量
var(
  date = "2021-11-21"
)

func main() {
    var b byte = 255
    fmt.Println("b=", b)
    fmt.Printf("b 的数据类型 %T", b)
    var i int32 = 10
    var f  = 10.23
    fmt.Printf("i 的数据类型 %T, i 所占字节数 %d \n", i, unsafe.Sizeof(i))
    fmt.Printf("f 的数据类型 %T, f 所占字节数 %d \n", f, unsafe.Sizeof(f)) //float64 8个字节

    var num1 float32 = 21.000987654321
    var num2 float64 = 21.000987654321

    fmt.Println("num1=", num1, "num2=", num2);

    var c1 byte = 'a'
    var c2 byte = 'b'
    fmt.Println("c1=", c1, "c2=", c2);  //97, 98
    fmt.Printf("c1=%c ,对应的码为%d \n", c1, c1);  //a, 97

    var c3 int = ''
    fmt.Printf("c3=%c ,对应的码为%d \n", c3, c3);  //a, 21271

    var isTrue bool = true
    fmt.Printf("isTrue 的数据类型 %T, isTrue 所占字节数 %d \n", isTrue, unsafe.Sizeof(isTrue))

    if isTrue {
        fmt.Printf("isTrue 的值为=%t \n", isTrue)
    }

    var funString string = `
    var(
        company = "CSI"
        CEO = "TomCEO"
    )
    `
  fmt.Println("funString=", funString);  
     
    var t = "goodmorning"
    var c = t[8]
    fmt.Printf("c=%c ,对应的码为%d \n", c, c);  //i, 105
    fmt.Printf("c 的数据类型 %T, c 所占字节数 %d \n", c, unsafe.Sizeof(c))  //unit8, 105

    var sValue int32 = 18
    var bValue int64 = int64(sValue)
    fmt.Printf("bValue 的数据值为 %v, bValue 的数据类型 %T, bValue 所占字节数 %d \n", bValue, bValue, unsafe.Sizeof(bValue)) 
  //bValue 的数据值为 18, bValue 的数据类型 int64, bValue 所占字节数 8

    //数字转为字符串转
    var str = strconv.FormatInt(int64(sValue),10);
    fmt.Printf("str 的数据值为 %q, str 的数据类型 %T, str 所占字节数 %d \n", str, str, unsafe.Sizeof(str)) 
     //str 的数据值为 "18", str 的数据类型 string, str 所占字节数 16
  
     //字符串转为其他值
     var k = "123456"
     var res int64
     res, _ = strconv.ParseInt(k, 10, 64)
     fmt.Printf("res 的值 %v, res 的类型 %T",res, res) //res 的值 123456, res 的类型 int64

}
原文地址:https://www.cnblogs.com/kingsmart/p/15586156.html