golang入门到放弃:1.变量和基本类型

不留余白 · · 391 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

变量的定义和声明

```
var a int = 123 //定义
var b int  //声明
```
定义:声明的同时给变量赋值了

声明:只是告诉了变量类型,没有赋值
  • 自动推导类型的精髓

    语法 tmp := "ccc" 定义的时候使用 省掉了var 关键字来声明如

    var PI float64 =3.14159 可以用 PI:=3.14159 来代替,
    自动推导类型会根据变量第一次赋值的情况判断数据类型并分配内存空间,
    之后就不允许再更改变量的类型了

多重赋值

```
a,b,c,d:=2,3.14159,"hello",true
fmt.Println(a,b,c,d)
//2 3.14159 hello true
```
在自动推导类型的基础上一次定义多个变量

交换a,b值的两种写法
```
 //方法一 常规写法
 a,b:= 1,2
 tmp:= a
 a = b
 b= tmp
 fmt.Println(a,b)//2 1

 //新的方式...
 c,d:= 1,2
 c,d=d,c
 fmt.Println(c,d)//2 1
```

格式输出

```fmt.Printf(format,var)```

```%d``` 整形(int), %3d表示输出的var会是3位数,如果不足3位 会用空格补齐

```%f``` 浮点型,%.3f表示输出保留3位小数,如果超出会四舍五入,如果不足用0补齐

```%t``` 布尔型

```%s``` 字符串型

%c 字符型 必须用'' 单引号,如果用双引号就会被认为是字符串型,格式化输出的时候就应该使用%s

 a:='a'
 fmt.Printf("%c\n",a)//a
 fmt.Println(a)//97

 b:="b"
 fmt.Printf("%c\n",b)//%!c(string=b)
 fmt.Println(b)//b
 fmt.Printf("%s\n",b)//b

格式化输入

```fmt.Scan```(内存地址) 

eg:

```
var tmp float64
fmt.Scan(&tmp)
fmt.printf("%f",tmp)
```

eg:

package main

import "fmt"

func main01() {
    fmt.Println("hello world")
}

//变量的声明
func main() {
    //var 变量名 类型
    var age int
    var name string
    var weight float64
    var height float32 = 1.88
    var code byte
    var ifMale bool

    age = 10
    name = "小明"
    weight = 60.00
    ifMale = true
    code = 'a'

    fmt.Println(age, name, weight, height, ifMale, code) //10 小明 60 1.88 true 97
    //格式化输出
    fmt.Printf("%c\n", code) //a

    //自动推导变量类型
    school := "上海虹桥一中"
    grade := 9
    class := 1

    fmt.Println(school, grade, class)//上海虹桥一中 9 1

    //快速交换两个变量的值
    grade, class = class, grade
    fmt.Println(grade, class)//1 9

    //多重赋值
    var a, b, c, d = 1, "2", false, '4'
    fmt.Println(a, b, c, d)//1 2 false 52

    //多重赋值自动推导
    e, f, g, h := 6, "7", true, '8'
    fmt.Println(e, f, g, h)//6 7 true 56

    //匿名变量
    _,h,_,i:=9,10,11,12
    fmt.Println(h,i)//匿名变量 10 12

}


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:不留余白

查看原文:golang入门到放弃:1.变量和基本类型

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

391 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传