Go语言的基础知识01

59 阅读3分钟

1.变量快速入门

1.1 声明变量,给变量赋值,使用变量

var i int
int i=10
fmt.Println("输出i的值",i)
第二种
var i=10 //不需要声明类型
第三种
i:=10 //已经代表声明和赋值
第四种 多变量的声明
var n1,n2,n3 int //声明多种变量
var n4,n5,n6=100,"tom",44.4 //这里直接声明和赋值 n7,n8,n9:=100,"tom",44.4

1.2使用变量的注意事项

1> 当没有赋值时会有默认值,布尔类型默认false
2> 一次性声明全局变量,用
var(
n1=100
n2=200
n3=300
)
3> 当左右两边都是字符串,➕可以做字符串拼接。 字符串由单个字符连接,字符串一旦赋值就不可修改
如果有特殊符号想正常输出,用到反引号
str3 :=package main import "fmt" int main(){ var str2 :="hello world" }
字符串拼接方式:
(1)var str="hello"+"world"
(2)var str1="hello"+"world"+
"haha"
上面的➕要在上面
4> byte rune与int32一样
byte存0-255,var a byte=255
5> 查看某个变量的数据类型
fmt.Printf("n 的类型为 %T",n)
6> 查看某个变量的占用的字节大小和数据类型
fmt.Printf("n 占有的字节大小 %d",unsafe.Sizeof(n))
7> 科学计数法 3.08e3 //代表3.08*10^3
8> 单个字符由字节组成.
var c byte='a'//输出了97
var c1 byte='0'//输出了98
如果希望输出是字符应该 fmt.Println("c1=%c",c1)
var b int='北' //因为不在0-255之间所以用int类型
var c int=120
fmt.Printtln("%c",c) //这里输出x的字符
汉字占三个字节
9>字符使用utf-8,且字符可以进行运算,运算时按照码值运算
var a byte='a'+10 //输出107,也可以打印出第十个字符
10> go不同的数据类型转换用显示转换

var i int32=100
var n1 float32=float32(i)
var n2 int8=int8(i)//不管怎样就是用显示转换
fmt.Printf("i=%v n1=%v n2=%v",i,n1,n2)

数据类型

mindmap
      数据类型
        基本数据类型
             数值型 
                 int,int8,int16,int32
                 float32,float64
                 uint8
             字符型
                 用byte来保存单个字母
             布尔型
             字符串
        复杂数据类型
            指针
            数组
            结构体
            管道
            切片
            函数
            map
            接口
    

基本数据类型和string类型的转换

1.fmt.Sprintf("%参数",表达式)

     var num1 int =99
     var num2 float64=23.456
     var b bool =true
     var mychar char ='h'
     //diyi
    str=fmt.Sprintf("%d",num1)//str=99,但是是字符串
    str=fmt.Sprintf("%f",num2)//str=23.456,但是是字符串
    str=fmt.Sprintf("%t",b)//str=true,但是是字符串
    str=fmt.Sprintf("%c",mychar)//str=h,但是是字符串
    }

2.strconv 基本数据转字符串

     var num1 int =99
     var num2 float64=23.456
     var b bool =true
    str=strconv.FormatInt(int64(num1),10)//str=99,10代表10进制
    str=strconv.FormatFloat(num2,'f',10,64)//str=23.456,f代表格式,10代表精度,64代表小数是float64
    str=strconv.FormatBool(b)//str=true,但是是字符串
    var num3 int=345
    str=strconv.Itoa(num3)//只能是int类型

3.string转基本数据类型

   var str string="true"
   var b bool
   b,_=strconv.ParseBool(str)
   
   var str2 string="1234"
   var b1,int64
   b1,_=strconv.ParseInt(str2,10,64) //10代表进制,64代表int64,因为返回值必须是int64
   
   var str3 string="123.45"
   var b2,float64
   b2,_=strconv.ParseFloat(str3,64) //因为返回值必须是float64
   //若没有转成功,则数据直接变成默认值