GO学习笔记02

GO学习笔记02

一、数据类型

这里写图片描述

1.常用

 boolintfloat32float64string

 float64float32 更准确

2.字符
这里写图片描述

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--
    
    ==	!=	<	>	<=	>=
    
    
    逻辑运算符
    !	非
    &&	与
    ||	或
    
    位运算
    &	按位与
    |	按位或
    ^	异或
    <<	左移
    >>	右移
    
    取地址运算符
    &
    取值运算符
    *
*/
发布了45 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/u010436867/article/details/79632651