golang函数返回值是结构体值的时候,为何不能对成员赋值呢?
1,右值不可赋值2,函数返回的是右值getTest()是右值,结构体整体都是右值,右值不可赋值getTestPoint()返回当然也是右值,但只有指针是右值,即你不能给返回的指针赋值(例如:getTestPoint() = nil),但是可以给指针指向的结构体成员赋值(就像你代码里那样)有右值自然就有左值,左值是可被赋值的,例如t := getTest() //getTest() 返回的右值,赋值给左值tt.test = 1,左值可被赋值
golang函数返回值是结构体值的时候,为何不能对成员赋值呢?
1,右值不可赋值2,函数返回的是右值getTest()是右值,结构体整体都是右值,右值不可赋值getTestPoint()返回当然也是右值,但只有指针是右值,即你不能给返回的指针赋值(例如:getTestPoint() = nil),但是可以给指针指向的结构体成员赋值(就像你代码里那样)有右值自然就有左值,左值是可被赋值的,例如t := getTest() //getTest() 返回的右值,赋值给左值tt.test = 1,左值可被赋值
多条件if函数,只返回第一个结果
1、IF是先判断第一个条件,如果不成立则判断第二个条件
你的公式第一个条件>3,除了A5不成立,其他A列都成立
2、最后两个条件重复。
3、四个结果时,三个条件对应三个结果,前三个都不成立,则显示不成立的结果。所以是三个IF
=IF(A1>10,15,IF(A1>7,10,IF(A1>3,5)))
条件1大于10,条件2大于