zoukankan      html  css  js  c++  java
  • Go

    概述

    在声明变量之前,咱们先了解下变量的数据类型,这篇文章主要涉及 字符串、布尔、数字,其他类型后面开篇再说。

    数据类型

    字符串

    string

    只能用一对双引号("")或反引号(``)括起来定义,不能用单引号('')定义!

    布尔

    bool

    只有 true 和 false,默认为 false。

    数字

    整型

    int8 uint8

    int16 uint16

    int32 uint32

    int64 uint64

    int uint,具体长度取决于 CPU 位数。

    浮点型

    float32 float64

    常量声明

    常量,在程序编译阶段就确定下来的值,而程序在运行时无法改变该值。

    单个常量声明

    第一种:const 变量名称 数据类型 = 变量值

    如果不赋值,使用的是该数据类型的默认值。

    第二种:const 变量名称 = 变量值

    根据变量值,自行判断数据类型。

    多个常量声明

    第一种:const 变量名称,变量名称 ... ,数据类型 = 变量值,变量值 ...

    第二种:const 变量名称,变量名称 ... = 变量值,变量值 ...

    测试代码

    //demo_1.go
    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	const name string = "Tom"
    	fmt.Println(name)
    
    	const age = 30
    	fmt.Println(age)
    
    	const name_1, name_2 string = "Tom", "Jay"
    	fmt.Println(name_1, name_2)
    
    	const name_3, age_1 = "Tom", 30
    	fmt.Println(name_3, age_1)
    }
    

    运行结果:

    变量声明

    单个变量声明

    第一种:var 变量名称 数据类型 = 变量值

    如果不赋值,使用的是该数据类型的默认值。

    第二种:var 变量名称 = 变量值

    根据变量值,自行判断数据类型。

    第三种:变量名称 := 变量值

    省略了 var 和数据类型,变量名称一定要是未声明过的。

    多个变量声明

    第一种:var 变量名称,变量名称 ... ,数据类型 = 变量值,变量值 ...

    第二种:var 变量名称,变量名称 ... = 变量值,变量值 ...

    第三种:变量名称,变量名称 ... := 变量值,变量值 ...

    测试代码

    //demo_2.go
    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	var age_1 uint8 = 31
    	var age_2 = 32
    	age_3 := 33
    	fmt.Println(age_1, age_2, age_3)
    
    	var age_4, age_5, age_6 int = 31, 32, 33
    	fmt.Println(age_4, age_5, age_6)
    
    	var name_1, age_7 = "Tom", 30
    	fmt.Println(name_1, age_7)
    
    	name_2, is_boy, height := "Jay", true, 180.66
    	fmt.Println(name_2, is_boy, height)
    }
    

    运行结果:

    输出方法

    fmt.Print:输出到控制台(仅只是输出)

    fmt.Println:输出到控制台并换行

    fmt.Printf:仅输出格式化的字符串和字符串变量(整型和整型变量不可以)

    fmt.Sprintf:格式化并返回一个字符串,不输出。

    测试代码

    //demo_3.go
    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	fmt.Print("输出到控制台不换行")
    	fmt.Println("---")
    	fmt.Println("输出到控制台并换行")
    	fmt.Printf("name=%s,age=%d
    ", "Tom", 30)
    	fmt.Printf("name=%s,age=%d,height=%v
    ", "Tom", 30, fmt.Sprintf("%.2f", 180.567))
    }
    

    运行结果:

    推荐阅读

    本文欢迎转发,转发请注明作者和出处,谢谢!

  • 相关阅读:
    bzoj3816 矩阵变换
    bzoj5029 贴小广告
    【BZOJ-1208】宠物收养所 Splay
    【BZOJ-2879】美食节 最小费用最大流 + 动态建图
    【BZOJ-1984】月下“毛景树” 树链剖分
    写在SDOI2016Round1前的To Do List
    BZOJ solve 100 纪念
    BZOJ-1143&&BZOJ-2718 祭祀river&&毕业旅行 最长反链(Floyed传递闭包+二分图匹配)
    【SDOI2009】解题汇总
    BZOJ-1879 Bill的挑战 状态压缩DP
  • 原文地址:https://www.cnblogs.com/xinliangcoder/p/11101098.html
Copyright © 2011-2022 走看看