Golang有类型常量和无类型常量的区别
作者:知其黑、受其白 发布时间:2024-02-01 17:42:23
标签:Golang,有类型常量,无类型常量
场景
在 Go 语言中,常量分为有类型常量和无类型常量。
// 有类型常量
const VERSION string = "v1.0.0"
// 无类型常量
const RELEASE = 3
那么他们有什么区别呢?
当你把有无类型的常量,赋值给一个变量的时候,无类型的常量会被隐式的转化成对应的类型。
package main
import "fmt"
func main() {
const RELEASE = 3
var x int16 = RELEASE
var y int32 = RELEASE
fmt.Printf("type: %T \n", x) //type: int16
fmt.Printf("type: %T \n", y) //type: int32
}
可要是有类型常量,不就会进行转换,在赋值的时候,类型检查就不会通过,从而直接报错。
package main
import "fmt"
func main() {
const RELEASE int8 = 3
var x int16 = RELEASE //cannot use RELEASE (type int8) as type int16 in assignment
var y int32 = RELEASE //cannot use RELEASE (type int8) as type int32 in assignment
fmt.Printf("type: %T \n", x)
fmt.Printf("type: %T \n", y)
}
解决的方法是进行显式的转换。
package main
import "fmt"
func main() {
const RELEASE int8 = 3
var x int16 = int16(RELEASE)
var y int32 = int32(RELEASE)
fmt.Printf("type: %T \n", x) // type: int16
fmt.Printf("type: %T \n", y) // type: int32
}
来源:https://wgchen.blog.csdn.net/article/details/129309760


猜你喜欢
- 1函数是一种有零个或多个参数并且有一个返回值的程序。在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数
- 这是通过博主写的英雄联盟下载器下载的部分的英雄皮肤,可以看一下效果。每个英雄的皮肤的会自动根据英雄名称创建相应的文件夹存放。实现思路比较简单
- 首先下载源tar包可利用linux自带下载工具wget下载,如下所示:wget http://www.python.org/ftp/pyth
- 本文介绍一下利用python批量把一个文件夹(及其子文件夹)下面的特定类型的文件移动到另一个文件夹下通过python操作系统目录及其文件,需
- 本文实例讲述了php解析字符串里所有URL地址的方法。分享给大家供大家参考。具体如下:<?php// $html = the html
- Python适配器模式,代码,思考等# -*- coding: utf-8 -*-# author:baoshanclass Compute
- python与C的区别如下:1、语言类型不同。Python是一种动态类型语言,又是强类型语言。它们确定一个变量的类型是在您第一次给它赋值的时
- 本文实例讲述了C#访问SQL Server数据库的实现方法。分享给大家供大家参考。具体如下:这里介绍一下用C#访问SQL Server数据库
- 目录1.列表中存储字典:1.列表中存储多个字典2.访问列表中字典的值3.遍历访问多个值2.字典中存储列表1.访问字典中的列表元素2.访问字典
- 闲来无事,上班时找了个练习来写,联系题目是针对sql server 2000的以下为mysql 一 单词解释(2分/个) 34分 Data
- 1.游戏画面1.1开始1.2射击怪物2.涉及知识点1.sprites2.pygame混音器3.图章 4.python
- Python3.5 版本引入了类型提示(Type Hints),它允许开发者在代码中显式地声明变量、函数、方法等的类型信息。这种类型声明不会
- 导语随着网购的广泛普及,现在大部分年轻人都喜欢上了网购的方式。很多东西物美价廉,出不出户也能满足你的购买需求!尤其是中秋来临,哪些假期短回不
- Payment Card Industry,即支付卡行业,PCI行业表示借记卡、信用卡、预付卡、电子钱包、ATM和POS卡及相关的业务。 P
- 一、日志级别1. 级别定义logging模块提供了5种日志级别,分别为:CRITICAL>ERROR>WARNING>IN
- 如下所示:###方法1:用shift函数,不用通过循环import pandas as pdimport numpy as npimport
- 今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实。首先我们需要安装一个E
- pymysql 是 python 用来操作MySQL的第三方库,下面具体介绍和使用该库的基本方法。1.建立数据库连接通过 connect 函
- Django模板使用两种模板标签,且语法格式与Python代码有些许不同。 为了使得模板访问到标签,需要将 {% load i18n %}
- asp学习入门经验介绍,本文初步介绍了初学asp的一些相关知识,如VBScript语法简介,循环控制语句的使用,asp数据库的简单操作查询,