GO学习笔记02

一、数据类型

GO学习笔记02_第1张图片
go语言数据类型.png

1.常用

 bool、int、float32、float64、string

 float64 比 float32 更准确

2.字符

GO学习笔记02_第2张图片
ascii.jpg

var ch byte
ch = 97
fmt.Printf("%c, %d\n", ch, ch)
        
a, 97

3.字符串

str := "hello"
fmt.Println("len(str)= ", len(str))     //内建函数.len
    
len(str)=  5

//字符串和字符
str := "hello"
fmt.Println("len(str)= ", len(str))
fmt.Printf("str[0] = %c ,str[1] = %c", str[0], str[1])      //可以直接取出字符串的字符
        
str[0] = h ,str[1] = e

4.复数

var t complex128
t = 2.1 + 3.2i
fmt.Println("t = ", t)
    
t1 := 2.2 + 2.87i
fmt.Printf("t1 type is %T\n", t1)
//通过内建函数去得实部和虚部
fmt.Println("real(t1) = ", real(t1), ",imag(t1) = ", imag(t1))
        
        
t =  (2.1+3.2i)
t1 type is complex128
real(t1) =  2.2 ,imag(t1) =  2.87

5.格式化输出

package main
    
import "fmt"
    
func main() {
    a := 10
    b := "abc"
    c := 'a'
    d := 3.14
    fmt.Printf("%T,%T,%T,%T\n", a, b, c, d)
    
    //常用的 %d %s %c %f
    fmt.Printf("a= %d, b = %s, c = %c, d = %f\n", a, b, c, d)
    //%v万能匹配格式,对字符操作不友好
    fmt.Printf("a= %v, b = %v, c = %v, d = %v\n", a, b, c, d)
}
    
    
int,string,int32,float64
a= 10, b = abc, c = a, d = 3.140000
a= 10, b = abc, c = 97, d = 3.14

6.输入函数

var m int
fmt.Printf("请输入变量m:")
//fmt.Scanf("%d", &m)
fmt.Scan(&m)    //也可以
fmt.Printf("m = %d\n", m)
    
请输入变量m:666
m = 666

7.类型转换

package main
    
import "fmt"
    
func main() {
    var flag bool
    flag = true
    fmt.Printf("flag = %t\n", flag)
    // bool类型不能转换为int类型,同样的int也不能转换为bool
    //  这种类型叫不兼容类型
    // fmt.Printf("flag = %d\n", (int)flag)
    
    var ch byte
    ch = 'a'
    var t int
    t = int(ch)     //字符类型本质上就是整型,这种兼容类型可以转换
    fmt.Println("t = ", t)
    
}
    
    
   flag = true
   t =  97

8.类型别名(重要)

package main
    
import (
    "fmt"
 )
    
func main() {
    //bigint 为新定义的别名
    type bigint int64
    var a bigint
    fmt.Printf("a type is %T\n", a)
    
    type (
        long int64
        char byte
    )
    
    var b long = 11999
    var ch char = 'a'
    fmt.Printf("b = %d, ch = %c\n", b, ch)
}
    
    
 a type is main.bigint
 b = 11999, ch = a

9.运算符

/*
    + - * /
    %   取模(取余) 
    ++  后自增,没有前自增
    --  后自减,没有前自减
    注意没有 ++a 或者--a ,只有后置的a++ , a--
    
    ==  !=  <   >   <=  >=
    
    
    逻辑运算符
    !   非
    &&  与
    ||  或
    
    位运算
    &   按位与
    |   按位或
    ^   异或
    <<  左移
    >>  右移
    
    取地址运算符
    &
    取值运算符
    *
*/

你可能感兴趣的:(GO学习笔记02)