Makefile的四种赋值运算符

Makefile有四种赋值运算符:简单赋值(:=)、递归赋值(=)、条件赋值(?=)和追加赋值(+=)

1. 简单赋值( :=

作用:覆盖之前的值。若在多次简单赋值之间将变量(A)赋值给了其他变量(B),后续该变量(A)的变化不会影响其他变量(B)的变化。

例:

A::=5

B:=A

A:=6

B?-->5

​​​​​​​2. 递归赋值( =

作用:覆盖之前的值。与简单赋值不同的是,若在多次简单赋值之间将变量(A)赋值给了其他变量(B),后续该变量(A)的变化会影响其他变量(B)的变化。

例:

A=5

B=A

A=6

B?-->6

​​​​​​​3. 条件赋值( ?=

作用:如果变量之前未赋值则将对该变量进行赋值,否则赋值无效。若在多次简单赋值之间将变量(A)赋值给了其他变量(B),后续该变量(A)的变化不会影响其他变量(B)的变化。

​​​​​​​4. 追加赋值( +=

作用:追加赋值,并用空格隔开。若在多次简单赋值之间将变量(A)赋值给了其他变量(B),后续该变量(A)的变化会影响其他变量(B)的变化。

​​​​​​​

相关推荐
幻云20103 分钟前
Python机器学习:筑基与实践
前端·人工智能·python
web小白成长日记5 分钟前
Vue3中如何优雅实现支持多绑定变量和修饰符的双向绑定组件?姜姜好
前端·javascript·vue.js
晴天飛 雪10 分钟前
Spring Boot 接口耗时统计
前端·windows·spring boot
0思必得019 分钟前
[Web自动化] Selenium模拟用户的常见操作
前端·python·selenium·自动化
Apifox.31 分钟前
测试用例越堆越多?用 Apifox 测试套件让自动化回归更易维护
运维·前端·后端·测试工具·单元测试·自动化·测试用例
玉梅小洋1 小时前
Chrome设置链接自动跳转新标签页而不是覆盖
前端·chrome
EndingCoder1 小时前
反射和元数据:高级装饰器用法
linux·运维·前端·ubuntu·typescript
Marshmallowc1 小时前
React性能优化:useState初始值为什么要用箭头函数?深度解析Lazy Initialization与Fiber机制
前端·react.js·性能优化·前端框架·react hooks
Coder_Boy_1 小时前
基于SpringAI的在线考试系统-试卷管理模块完整优化方案
前端·人工智能·spring boot·架构·领域驱动
摇滚侠1 小时前
Node.js 零基础教程,Node.js 和 NPM 的安装与使用
前端·npm·node.js