golang语言学习第二课:变量类型及常量与枚举

go语言的变量类型:

  • bool (true为0,false不等于0),
  • string
  • int 分好多种int,有点头晕,但用默认的int就足够了,根据机器判断,是32位的用int32,是64位的用int64.
  • byte, 又是uint8的别名。
  • rune(类似char,但是是utf-8编码的char),又是int32的别名。
  • go语言没有float,只有float32, float 64(即使在32位的架构上还是64位)
  • go语言原生支持复数类型,类似python, python也支持复数。go语言的复数类型有2种:complex64, complex128。一般程序其实很少用的上

golang类型转换是强制的,不能隐式转换。

go语言定义常量

定义常量: const 常量名, 数据类型(类型可省略,具体到用的时候golang可自动规定)

注意:const 后面的常量名在go语言可以不用大写,在C里强制要大写的,go的大写是有特殊含义的,并且大小写是敏感的。

  function changliang ( ) {

  const (

    a, d = 3, 4  //常量可以规定类型,也可以不规定,不规定类似,类型是不确定的,此处a,d既可以做int任何一种类型, 又可以做float32, float64任何一种类型。

    b string ="hello"

  )

  var c int

  c =  int ( math.Sqrt (a*a + b*b) )  //此处a,b类型为float64, 没规定类型直接放进来,math.Sqrt函数里是float64类型,就自动规定为float64类型。

  fmt.Println(c, b)

  }

枚举类型:

  const (

  python = iota  //从0开始自增,并且iota支持参加运算,具体看代码区域块里的代码

_                 //golang特殊字符, 赋值后忽略

  golang      // 值为2

csharp     // 值为3

)

详见代码:

package main

import (
    "fmt"
    "math"
)

func main() {
    consttest()
    constiota()
    changliang()
}
func changliang()  {
    const(
        a, d = 3, 4
        b string = "gooing"
    )
    var c int
    fmt.Println(a, b)
    c = int(math.Sqrt(a*a + d*d)) //此处a,d为float64类型
    fmt.Println(c)

}
func consttest()  {
    const (
        python = iota
        golang
        _
        cpp
        clang

    )
    fmt.Println(python,golang,cpp,clang )

}

func constiota()  {
    //Byte, KB,MB, GB,TB
    const(
        b =1 << (10 * iota)  //iota能够参与运算
        kb
        mb
        gb
        tb

    )
    fmt.Println(b,kb,mb,gb,tb)
}

原文地址:https://www.cnblogs.com/golangxiong/p/10074079.html

时间: 2024-08-09 22:23:06

golang语言学习第二课:变量类型及常量与枚举的相关文章

C 语言学习第二课

初次练习的源代码如下: #include<stdio.h> int main() { int num; num=1; printf("C语言是美丽的"); printf("编程语言 \n"); printf("我是最简单的数字啊\n"); printf("我最喜欢%d.\n",num); return 0; } 其调试及运行的结果如下: 下面我对其中涉及的详细介绍下:(程序细节介绍) #include<std

C语言基础第二课 -----布尔类型,关系运算符,逻辑运算符,

/* 布尔类型: 1.c89没有布尔类型,c99有布尔类型.c工程支持c89,oc工程c99. 2.两种数值: bool true(真)   false(假) C语言 BOOL YES(真)      NO(假)   OC语言 3.真和假的表示 C语言   非0即为真  0就是假 OC语言   YES定义为1  NO定义为0 4.输出转换符是%d 5.作用:用于分支结构和循环的判断. */ //    BOOL a1 = YES; //    BOOL a2 = NO; //    printf

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

日期:2014年7月19日 1.Go 在语法上有着类 C 的感觉.如果你希望将两个(或更多)语句放在一行书写,它们 必须用分号分隔.一般情况下,你不需要分号. 2.Go 同其他语言不同的地方在于变量的类型在变量名的后面.例如:不是,int a,而是 a int.当定义了一个变量,它默认赋值为其类型的 null 值.这意味着,在 var a int后,a 的 值为 0.而 var s string,意味着 s 被赋值为零长度字符串,也就是 "". 3.Go语言的变量声明和赋值 在Go中使

IOS学习第二课 UIAlertView和UIActionSheet

1    UIAlertView 类似于Android中的Dialog,简单用法如下: UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Messate" delegate:nil cancelButtonTitle:@"Cancle" otherButtonTitles:nil, nil]; [alertView show]; 2   U

安卓学习第二课——短信发送器

package com.example.message; import android.app.Activity; import android.os.Bundle; import android.telephony.SmsManager; import android.text.TextUtils; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button;

C语言学习总结(三) 复杂类型

第五章.复杂数据类型 (数组.字符串.指针.结构体.枚举.共同体) 1.什么是数组? 概念:把具有相同类型的若干变量按有序的形式组织起来,这些按序排列的同类数据元素的集合称为数组: 按数组元素的类型不同,数组又可分为: 数值数组:用来存储数值得 字符数组:用来存储字符 ‘a’ 指针数组:用来存放指针(地址)的 结构数组:用来存放一个结构体类型的数据 按维度分类: 一维数组 二维数组 多维数组 1.一维数组 概念:所有的元素都不是数组 使用流程:定义数组---->给数组初始化---->使用数组

Go语言学习(四)经常使用类型介绍

1.布尔类型 var v1 bool v1 = true; v2 := (1==2) // v2也会被推导为bool类型 2.整型 类 型 长度(字节) 值 范 围 int8 1 ? 128 ~ 127 uint8(即byte)1 0 ~ 255 int16 2 ? 32 768 ~ 32 767 uint16 2 0 ~ 65 535 int32 4 ? 2 147 483 648 ~ 2 147 483 647 uint32 4 0 ~ 4 294 967 295 int64 8 ? 9 2

注册表学习第二课

大家好,今天是注册表学习的第二课 好了,废话不多说了,我现在就来分享我的读书笔记吧 一.禁用菜单系统栏的属性 首先,按照HKEY_CURRENT_USER-software-microsoft-windows-currentversion -policies-explorer 新建一个DWORD值,命名为"NoSetTaskBar",将键值设为1 解释:修改这个注册表的用途就是,当我们点击系统栏的属性时,会出现如下提示 "本次操作由于这台电脑的限制而被取消,请与系统管理员联系

C语言基础-第二课-数据类型与运算符

1   C语言中的数据类型 1.1   常量 常量就是在程序中不可变化的量,常量在定义的时候必须给一个初值. 1.1.1   #define 定义一个宏常量 1.1.2   const 定义一个const常量 1.2   字符串常量 "hello world" 对于#define类型的常量,c语言的习惯是常量名称为大写,但对于普通const常量以及变量,一般为小写结合大写的方式 1.3   二进制数.位.字节与字 我们习惯于十进制的数:10,12等 一个位只能表示0,或者1两种状态,简