fmt包

fmt包主要用于打印数据,常用的有Printf、Print、Printf

// 文件所属包
package main // 导入fmt包,主要用于打印数据
import "fmt" func main() { fmt.Println("golang1","golang2")
fmt.Print("golang1","golang2")
fmt.Printf("golang") }
  • Print和Println区别

    • 一次输出多个值的时候,Println有空格,Print没有
    • Println输出完会自动换行,Print不会自动换行
  • Printf的区别

    • Printf可以格式化输出

    • // 定义一个变量
      var a = "golang"
      // 格式化输出,%v代表用默认格式输出
      fmt.Printf("%v",a) // 占位符参考文档 http://docscn.studygolang.com/pkg/fmt/

变量声明

在Go语言中,定义变量之后,必须要使用,且同一作用于内不可以重复声明同一个变量

var声明变量
// var 变量名 类型 = 表达式,显示的声明变量的类型
var a int = 1 // 不声明类型 var 变量名 = 表达式,编译器会根据右侧的类型来推断变量的类型
var a =1 // 初始值为空,后续赋值
var a
a = 1 // 一次声明多个类型一致的变量 : var 变量名称,变量名称,类型
var a1,a2 string // 一次声明多个类型不一致的变量 : var (变量名称, 类型...)
var (
a int
b string
)
短变量

在函数内部,可以使用简略的:=方式声明并初始化变量

短变量只能用于声明局部变量,不能用于全局变量的声明

// 变量名 := 表达式  根据表达式的类型推断变量n的类型
n:=10 // 短变量一次声明多个变量
a,b,c := 1,2,"3"

这两种形式的区别在于声明方式的简洁性和是否显式指定变量类型,n := 10 是一种简短的方式,用于在函数内部快速声明和初始化变量。var n = 10 是一种显式声明的方式,用于在任何作用域内声明和初始化变量

匿名变量
  • 使用多重赋值的时候,如果想要忽略某个值,可以使用匿名变量

  • 匿名变量用一个下划线来表示

  • 匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明

// 定义一个方法,返回两个值
func getUserInfo() (string, int) {
return "user", 18
} func main() {
// 使用两个变量接受对应的两个返回值
var name, age = getUserInfo()
fmt.Println(name)
fmt.Println(age) // 如果只想获取第一个值,不使用第二个值,使用_匿名变量来接受
var name, _ = getUserInfo() }

常量

声明常量

Go中使用const声明常量,常量在定义的时候必须赋值,且常量的值后续运行期间无法改变

// 声明一个常量
const Number int = 10
const Name = "木子" // 声明多个常量, 声明多个常量,如果后面的常量没有赋值,则和前面有值的常量的值相同
// C 和D的值都是8
const (
A string = "3"
B int = 8
C
D
)
const常量结合iota的使用
  • iota是golang的常量计数器,只能在常量的表达式中使用

  • iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使用iota计数一次,iota可以理解为const语句块中的行索引

  • 每次const出现时,iota初始值都会自增长

const (
A = iota // 0
B // 1
_ // 匿名变量
D // 4
) const (
A = iota // 0
B = 100 // 100
C = iota // 2
D //3 )

fmt、变量、常量的更多相关文章

  1. Go-数据类型以及变量,常量,函数,包的使用

    Go-数据类型以及变量,常量,函数,包的使用 一.数据类型 1.字符串类型 string -双引号包裹的:"xxx" -反引号包裹,可以换行, 注意: 区别于python,是没有单 ...

  2. iOS开发Swift篇(01) 变量&常量&元组

    iOS开发Swift篇(01) 变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对于14年 ...

  3. C#基础总结之一变量常量-if嵌套语句-witch结构-类型转换

    //Console.WriteLine("Hello World"); //打印显示 //Console.ReadLine(); //接收输入的值 //Console.ReadKe ...

  4. 李洪强iOS开发Swift篇---11_变量&常量&元组

    李洪强iOS开发Swift篇---11_变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对 ...

  5. PHP 获得当前页面所有变量常量的值

    get_defined_vars() - 返回由所有已定义变量所组成的数组,这个函数在二次开发的时候用起来非常给力: get_defined_constants();可以返回当前的所有常量 zend的 ...

  6. JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算

    JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都 ...

  7. TF:Tensorflow定义变量+常量,实现输出计数功能—Jason niu

    #TF:Tensorflow定义变量+常量,实现输出计数功能 import tensorflow as tf state = tf.Variable(0, name='Parameter_name_c ...

  8. C#基础课程之二变量常量及流程控制

    课堂练习:.一个四位整数 输出它的千位,百位,十位,个位 数字. ; ; % ; % ; ; Console.WriteLine("千位数" + b+" 百位数" ...

  9. Swift-基础语法之变量&常量&元组

    使用 let来声明一个常量,用 var来声明一个变量.常量的值在编译时并不要求已知,但是你必须为其赋值一次.这意味着你可以使用常量来给一个值命名,然后一次定义多次使用 myVariable = let ...

  10. Java复习3.变量.常量.String.

    Java 中的变量常量数据类型 20131004 前言: 还是国庆节,无聊的很,就没事复习点Java的知识,其实C/C++基本上是现在大型企业面试的语言,但是多学习点Java是没有坏处的,而且,将来工 ...

随机推荐

  1. linux-网络状态-netstat

  2. [转帖]Oracle客户端与Oracle数据库兼容矩阵

    https://www.cnblogs.com/kerrycode/p/17666025.html Oracle客户端与Oracle数据库之间是有兼容支持关系的,有些低版本的Oracle Client ...

  3. [转帖]PostgreSQL(三) 内存参数优化和原理(work_mem)内存表 pgfincore插件使用方法

    1.常用内存参数 1.1 shared_buffers shared_buffers是PostgreSQL用于共享缓冲区的内存,是由8kb大小的块所形成的数组.PostgreSQL在进行更新.查询等操 ...

  4. Python学习之八_调用Outlook发送邮件以及调用远程windows上面的python

    Python学习之八_调用Outlook发送邮件以及调用远程windows上面的python 摘要 之前只有一个需求是发送加密邮件. 之前一直是使用linux进行发送.但是总是无法发送加密邮件. 最近 ...

  5. [转帖]公钥基础设施(PKI,Public Key Infrastructure)闲谈

    https://zhuanlan.zhihu.com/p/384436119 背景 在现实空间中,人类的活动范围和接触人的范围有限,人和人最初的信任是建立在小团体或部落内部.随着全球化进展,人类的活动 ...

  6. [转帖]Linux后门的几种姿势

      转载自 https://evilanne.github.io/2017/08/26/Linux后门-持续关注/ 在一次渗透中,成功获取某目标几台比较重要的机器,当时只想着获取脱库,结果动静太大被发 ...

  7. 内网CentOS7搭建ntp服务器实现内网时间同步

    内网CentOS7搭建ntp服务器实现内网时间同步 背景 公司内部有很多虚拟机,本来很简单的实现了每天晚上自动同步阿里云时间 crontab -e 1 1 * * * ntpdate ntp.aliy ...

  8. 万能shell 简单查看已存在日志所有的启动记录

    程序将日志 自动打包成了 gz 文件,  今天突然想查查所有的日志有没有相关关键字. 第一步解压缩所有的日志 cd 到相关目录 for i in `ls` ; do gzip -d $i ; done ...

  9. vue3关于.sync的用法

    场景描述 我们都知道,子组件是不能够去修改父组件传递过来的数据. 因为如果子组件去修改父组件件传递过来的数据. 会导致数据的应用流向变得难以理解. 但是有些时候,我们需要当子组件的数据变化后,父组件的 ...

  10. (数据科学学习手札113)Python+Dash快速web应用开发——表单控件篇(下)

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 由我开源的先进Dash组件库feffery-antd-co ...