首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Go 100 mistakes之如何正确设置枚举

我们知道,在Go中会给定义变量一个默认,比如int类型变量默认是0。我们在定义枚举时,往往也会从0开始定义。本文就解释如何区分是显示指定了变量0还是因为确实字段而得到默认。...这就是为什么我们在处理枚举时必须要小心原因。让我们来看一些相关实践以及如何避免一些常见错误。...此版本等同于第一个版本: Monday = 0 Tuesday = 1 Wednesday = 3 等等 使用 iota 允许我们避免手动定义常量值。例如,在大枚举中手动设置常量值是会容易出错。...在例子中,我们可以接收一个JSON内容并正确解码: { "id": 1234, "weekday": 0 } 这里,Weekday字段会等于0:Monday。...根据经验,枚举未知应该设置为枚举类型。这样,我们就可以区分出显示和缺失值了。

3.7K10

CSS 如何设置背景透明,并使用 PHP 将十六进制颜色转换成 RGBA 格式

我们在进行网页设计时候,为了网页整体美观,可能需要将网页中某些部分设置为背景颜色透明,那么如何设置背景颜色透明呢?...使用 RGBA 设置背景透明 我们使用 CSS 设置颜色时候,一般适用十六进制颜色,比如黄色就是:#ffff00。其实颜色还可以通过 RGBA 方式来设置。...使用 PHP 将十六进制颜色转换成 RGBA 格式 但是我们在后台设置颜色时候,一般设置成十六进制颜色,然后再加上一个透明度: 那么怎么转换成 RGBA 格式呢?...我写了一个函数,使用 PHP 直接将十六进制颜色转换成 RGBA 格式或 RGB 格式(没有传递透明度): function wpjam_hex2rgba($color, $opacity=null...')'; } } 这个函数非常简单,只有两个参数,第一个是十六进制颜色,第二个是透明度,然后透明度没有传递,则生成颜色 RGB ,传递了则生成 RGBA

3.1K40
您找到你想要的搜索结果了吗?
是的
没有找到

前端常考面试题整理_2023-03-15

起初,伪元素前缀使用是单冒号语法,但随着Web进化,在CSS3规范里,伪元素语法被修改成使用双冒号,成为::before、::after。Sass、Less 是什么?为什么要使用他们?...为什么要使用它们?结构清晰,便于扩展。 可以方便地屏蔽浏览器私有语法差异。封装对浏览器语法差异重复处理, 减少无意义机械劳动。可以轻松实现多重继承。...LESS 只是在 CSS 语法上做了扩展,所以老 CSS 代码也可以与 LESS 代码一同编译。文档声明(Doctype)和有何作用? 严格模式与混杂模式如何区分?...文档声明作用: 文档声明是为了告诉浏览器,当前HTML文档使用什么版本HTML来写,这样浏览器才能按照声明版本来正确解析。作用:<!...左边元素设置为absolute定位,并且宽度设置为200px。将右边元素margin-left设置为200px。.

49020

【前端面试题】08—31道有关前端工程化面试题(附答案)

file- loader:生成文件名就是文件内容MD5散列,并会保留所引用资源原始扩展名。...WebPack支持这3种规范,还支持混合使用。 12、如何为项目创建 package. json文件?...gulp是工具,可以配合各种插件使用,例如对 JavaScript、CSS文件进行压缩,对less进行编译等;而 WebPack能把项目中各种 JavaScript、CSS文件等打包合并成一个或者多个文件...module. export属于 CommonJS语法规范。 25、当使用Babel直接打包 JavaScript文件中含有jsx语法时候会报错,如何解决这个问题?...目前做法是通过在 package. json中设置node一个全局变量,然后在 webpack. config. js文件里面进行生产环境与开发环境配置切换。

2.8K30

VScode常用插件_AE必备插件

这篇博客主要是我使用vscode过程中插件汇总,使用了这么长时间,总想有个总结,也方便日后查看,这里我将我使用插件分为基础、框架、工具三个类型。...官网地址 VSCode插件官网地址,里面有很多插件可以使用。 基础插件 这部分插件主要是和html、css、js有关。...插件地址 if for 插 … jQuery Code Snippets 虽然jQuery诞生于2006年,距今已有13年历史,但是还是有很多人在使用,所以也推荐一下。...插件地址 Sass Lint 这个是和sass配套一个插件,检查sass语法是否正确,插件地址 vscode-fileheader 这个插件可以在文档顶部插入一段说明注释,非常便于你查看当日写了哪些内容...webpack 这个插件是一个webpack辅助工具,可以创建webpack配置文件,还有babel编译帮助功能,插件地址 最后 这就是我日常使用一些vscode插件,在此作为一个汇总,方便日后查看

1.6K10

有哪些前端面试题是面试官必考_2023-03-01

,它有一套访问变量规则,这套规则来管理浏览器引擎如何在当前作用域以及嵌套作用域中根据变量(标识符)进行变量查找 作用域: 作用域作用是保证对执行环境有权访问所有变量和函数有序访问,通过作用域...一旦我们将这些作用域嵌套起来,就变成了另外一个重要知识点「作用域」,也就是 JS 到底是如何访问需要变量或者函数。...所以在 if 代码块前后输出 a 这个变量结果,控制台会显示 a 并没有定义 HTTPS特点 HTTPS优点如下: 使用HTTPS协议可以认证用户和服务器,确保数据发送到正确客户端和服务器;...第一种方式,使用 instanceof 运算符来判断构造函数 prototype 属性是否出现在对象原型任何位置。...当使用双等号对两种类型进行比较时会返回 true,使用三个等号时会返回 false。

1.5K00

前端面试题库系列(4)

再建:根据变换后抽象语法树再生成代码字符串 Promise 模拟终止 当新对象保持“pending”状态时,原Promise将会中止执行。...return new Promise(()=>{}); // 返回“pending”状态Promise对象 从如何停掉 Promise 说起(promise内存泄漏问题) promise 放在...注册所有配置插件,好让插件监听webpack构建生命周期事件节点,以做出对应反应。 从配置entry入口文件开始解析文件构建AST语法树,找出每个文件所依赖文件,递归下去。...再建:根据变换后抽象语法树再生成代码字符串 Promise 模拟终止 当新对象保持“pending”状态时,原Promise将会中止执行。...return new Promise(()=>{}); // 返回“pending”状态Promise对象 从如何停掉 Promise 说起(promise内存泄漏问题) promise 放在

1.3K10

ES2020 中 Javascript 10 个你应该知道新功能

这就像你使用 webpack 和 Babel 一样。 这个功能可以帮助你处理按需加载代码,拆分代码,而且,并不需要 webpack 或者其它模块处理器。...你可以清楚看到 OR 操作符总是返回一个真值,但是,空操作符返回一个非空。 4、可选 可选语法允许你访问嵌套更深对象属性,而不用担心属性是否存在。如果,存在很好。...如果,还有更多运行环境,这个对象也会有不同。 因此,你自己必要检查运行环境来决定使用正确是全局对象。...8、导出模块命名空间 Javascript 模块中,一直都可以使用以下这种语法: import * as utils from '..../utils.mjs' 然而,直到现在还不可以像以下这样使用 export 语法: 译者注:目前是支持(2020-04-24) export * as utils from '.

57231

Web前端开发高级前端技术(高级开发程序篇)

进行前端代码优化,优化HTML代码为了能够使网站更好搜索,让用户更快速搜索到我们网站,写好HTML代码使用正确闭合HTML标签,进行HTML代码层级间合理缩进,属性需要使用双引号,结构与样式进行有效分离...module,webpack只能打包js文件,无法识别其他语法文件,如果要让webpack打包其他文件,首先需要让webpack识别不同文件。...,添加标签 babel-loader将ES6+、JSX语法转成ES5低版本语法 url-loaderurl-loader对未设置或者小于limit byte设置图片以base64格式进行转换...babel loader babel是一个js编译器,它是通过语法转换器支持最新版本JavaScript,这插件允许你使用语法,无需等待浏览器支持。...resolve配置webpack如何寻找模块对应文件,webpack在启动后会从配置入口模块触发,找出所有依赖模块,默认会采用模块化标准里约定号规则去寻找。

2.3K10

新鲜出炉8月前端面试题

基础题 题目的答案提供了一个思考方向,答案不一定正确全面,有错误地方欢迎大家请在评论中指出,共同进步。...之类原理是什么 它就是个编译器,输入语言是ES6+,编译目标语言是ES5 babel 官方工作原理 解析:将代码字符串解析成抽象语法树 变换:对抽象语法树进行变换操作 再建:根据变换后抽象语法树再生成代码字符串...,减少对字符串计算,合理使用闭包,首屏js 资源加载放在最底部 js 自定义事件实现 原生提供了3个方法实现自定义事件 createEvent,设置事件类型,是 html 事件还是 鼠标事件 initEvent...有没有去研究webpack一些原理和机制,怎么实现 解析webpack配置参数,合并从shell传入和webpack.config.js文件里配置参数,生产最后配置结果。...注册所有配置插件,好让插件监听webpack构建生命周期事件节点,以做出对应反应。 从配置entry入口文件开始解析文件构建AST语法树,找出每个文件所依赖文件,递归下去。

1.1K31

webpack构建自定义react应用

​ 在上一篇文章中我们用webpackwebpack-cli搭建了最简单前端应用,通常在项目中我们会用vue或者react,我们看下如何利用我们自己搭工程来适配react 正文开始......前置 首先我们要确定,react并不是在webpack中像插件一样安装就可以直接使用,我们需要支持jsx以及一些es6一些比较新语法,在creat-react-app这个脚手架中已经帮我们高度封装了...所以我们需要知道一个react项目需要哪些插件前提条件,本文主要参考从头开始打造工具[1] 安装babel相关插件 npm i @babel/core @babel/cli @babel/preset-env...HMR,我们需要结合new webpack.HotModuleReplacementPlugin(),并且在devServer中设置hot为true module.exports = { ......() ], devServer: { hot: true } } 完整配置webpack.config.js就已经ok了 // webpack.config.js const

50720

Webpack 实现 Tree shaking 前世今生

Webpack 实现 tree-shaking 可以参考这篇文章 如何Webpack 2 中使用 tree-shaking(链接地址见文末参考),掘金也有翻译版,当然如果不愿意花时间考古,也可以看下面这一段总结...语法使用层面 首先,mode 为 production 模式下才会启用更多优化项,包括我们本文讲压缩代码与 tree shaking; 使用 ES2015 模块语法(即 import 和 export...); 确保没有编译器将 ES2015 模块语法转换为 CommonJS ,把 presets 中 modules 设置为 false,告诉 babel 不要编译模块代码。...,尽量不写带有副作用代码,使用 ES2015 模块语法; 在项目 package.json 文件中,添加一个 sideEffects 入口,设置 sideEffects 属性为 false,也可以通过...参考资料 如何Webpack 2 中使用 tree-shaking()https://blog.craftlab.hu/how-to-do-proper-tree-shaking-in-webpack

1.1K20
领券