Go语言学习笔记二: 变量

今天又学了一招如何查看go的版本的命令:go version。另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件。

定义变量

使用var关键字来定义变量。例如:

var x int = 100;

顺便说一句,go语言一行代码可以不写分号结束符。

也分单行注释//和多行注释/* */

其实也可以不写类型,go语言会推测出数据类型。例如:

x := 100

写法看上去更简单了。还可以写成

var x = 200

可以一次定义多个变量:

var x, y int = 1, 2

数据类型

类型虽然可以不写,但不代表没有。Go语言具有以下几种数据类型:

  1. 布尔型 bool
  2. 数字: 整形int和浮点型float32, float64
  3. 字符串
  4. 派生类型:指针(Pointer), 数组,结构化(struct), Channel类型,函数类型,切片类型,接口类型(interface),Map类型。

Go也有基于架构的类型,例如:int, uint, uintptr。

uint8, uint16, uint32, uint64, int8, int16, int32, int64。

看到go语言支持这么多类型,我都快疯了,这是要干死所有语言的节奏呀(太消耗脑细胞了)。

package main

import "fmt"

func main() {
var a int = 0;
var b int8 = 127;
var c int16 = 32767;
var d int32 = 2147483647;
var e int64 = 9223372036854775807;
fmt.Println(a, b, c, d, e); var f uint8 = 255;
var g uint16 = 65535;
var h uint32 = 4294967295;
var i uint64 = 18446744073709551615;
fmt.Println(f, g, h, i); var k float32 = 3.1415;
var l float64 = 3.1415;
var m complex64 = 3.1415;
var n complex128 = 3.1415;
fmt.Println(k, l, m, n); w := 1;
var y bool = true
z := false
fmt.Println(w, y, z);
}

参考资料:

https://golang.org/doc/

https://go-zh.org/doc/

http://www.runoob.com/go/go-data-types.html

Go语言学习笔记二: 变量的更多相关文章

  1. Go语言学习笔记(二) [变量、类型、关键字]

    日期:2014年7月19日 1.Go 在语法上有着类 C 的感觉.如果你希望将两个(或更多)语句放在一行书写,它们 必须用分号分隔.一般情况下,你不需要分号.   2.Go 同其他语言不同的地方在于变 ...

  2. 【GO】GO语言学习笔记二

    基本类型: 布尔型:boolean 整型:int8,byte,int16,int,uint,uintptr等 浮点型:float32,float64 复数类型:complex64,complex128 ...

  3. c语言学习笔记 const变量

    在c语言的编程过程中经常会遇到有常数参加运算的运算,比如这种. int a=100*b; 这个100我们叫常数或者叫常量,但是程序中我们不推荐这种直接写常数的方法,有两个缺点. 第一是程序可读性差. ...

  4. [C语言学习笔记二] extern 函数的用法

    extern 用来定义一个或多个变量.其后跟数据类型名和初始值.例如: extern int a =10 它与 int,long long int,double,char的本质区别,在于 extern ...

  5. [C语言学习笔记四]变量与系统的交互

    使用 const 创建常量和使用 volatie 优化变量 C语言中使用 const 定义常量. 例如: const INT a = 10; 此处如果添加a = 20;,编辑器则会报错,因为此处 a ...

  6. C语言学习笔记二---数据类型运算符与表达式

    一.C的基本语法单位 1.标识符:有效长度:31(DOS环境下) 2.关键字:main不是 3.分隔符:空格符,制表符,换行符,换页符 4.注释符:a./*.....*/   b.// 二.C的常用输 ...

  7. C语言学习笔记二

    第二章 数组 一,定义: 数组是有序数据的结合,同一数据类型 整型数组     int arr[10]={0,1,2,4,5,6,7,8,9}; 字符数组     char str[6]={'h',' ...

  8. Go语言学习笔记1 变量,类型以及赋值

    1.变量 1.1 声明变量 使用var关键字可以创建一个指定类型的变量: var i int = 0 var i = 0 var i int 以上三个表达式均是合法的,第三个表达式会将i初始化为int ...

  9. Go语言学习笔记(2)——变量、常量

    1. 变量(变量由字母.数字和下划线组成,且不能以数字开头!)      1.1 第一种 var name type // 未赋值时使用默认值 name = value 1.2 第二种: 根据所赋的值 ...

随机推荐

  1. UnicodeEncodeError:'latin-1' codec can't encode characters in position 0-1: ordinal not in range(256)

    Scrapy爬虫向数据库写入数据时报错: UnicodeEncodeError:'latin-1' codec can't encode characters in position 0-1: ord ...

  2. Mahout学习资料

    Apache Mahout 简介 http://www.ibm.com/developerworks/cn/java/j-mahout/ 从源代码剖析Mahout推荐引擎 http://blog.fe ...

  3. [node.js]express+mongoose+mongodb的开发笔记

    时间过得很快,6月和7月忙的不可开交,糟心的事儿也是不少,杭州大连来回飞,也是呵呵. 希望下个阶段能沉浸下来,接着学自己想学的.记一下上几周用了几天时间写的课设.因为课设的缘故,所以在短时间里了解下e ...

  4. SQL LEAD()函数 LAG()函数

    lag ,lead 分别是向前,向后:lag 和lead 有三个参数,第一个参数是列名,第二个参数是偏移的offset,第三个参数是 超出记录窗口时的默认值) SQL> select id,na ...

  5. iOS 访问模拟器数据

    1. 如果文件隐藏,进入命令行,输入: defaults write com.apple.finder AppleShowAllFiles -bool true 2. 进入 Finder,shift ...

  6. java—ThreadLocal模式与OSIV模式(53)

    ThreadLocal: 维护线程局部的变量. ThreadLocal 不是线程.它就是一个Map.可以保存对象. 它保存的对象,只与当前线程相关. 当一个线程还没有运行完成时,如果不想传递数据,可以 ...

  7. “全栈2019”Java第九十五章:方法中可以定义静态局部内部类吗?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. 用flask实现一个用户登录的功能

    #!/usr/bin/python #coding=utf-8 from flask import Flask,session,redirect,url_for,request app=Flask(_ ...

  9. [CISCO] 转载:冲突域与广播域(区别、知识要点)

    [CISCO] 转载:冲突域与广播域(区别.知识要点) 1.传统以太网操作(Ethernet Connection Ethernet) 传统共享式以太网的典型代表是总线型以太网.在这种类型的以太网中, ...

  10. Android-获取手机已经安装的程序

    有时候我们会查询手机里面是否安装了某个程序,或者获取已经安装软件名称的集合. android这边提供了相应的接口. [java] view plaincopy final PackageManager ...