go Which one below is not one of the equality operators of Go?

2026-08-30 浏览 (1)

Which one below is not one of the equality operators of Go?

  1. ==
  2. !=
  3. > CORRECT

3: That's the greater operator. It checks whether an ordered value is greater than the other or not.

Which one below is not one of the ordering operators of Go?

  1. >
  2. <=
  3. == CORRECT
  4. <

3: That's the equal operator. In an expression, it checks whether a value (operand) is equal to another value (operand).

Which one of these types is returned by the comparison operators?

  1. int
  2. byte
  3. bool CORRECT
  4. float64

3: That's right. All the comparison operators return an untyped bool value (true or false).

Which one of these below cannot be used as an operand to ordering operators (>, <, >=, <=)?

  1. int value
  2. byte value
  3. string value
  4. bool value CORRECT
  5. all of them

1-2: This is an ordered value, it can be used.

3: String is an ordered value because it's a series of numbers. So, it can be used as an operand.

4: That's right. A bool value is not an ordered value, so it cannot be used with ordering operators.

Which one of these cannot be used as an operand to equality operators (==, !=)?

  1. int value
  2. byte value
  3. string value
  4. bool value
  5. They all can be used CORRECT

5: That's right. Every comparable value can be used as an operand to equality operators.

What does this code print?

fmt.Println("go" != "go!")
fmt.Println("go" == "go!")
  1. true true
  2. true false CORRECT
  3. false true
  4. false false
  5. error

3-4: Watch out for the exclamation mark at the end of the second string value.

What does this code print?

fmt.Println(1 == true)
  1. true
  2. 1
  3. false
  4. 2
  5. error CORRECT

5: That's right. A numeric constant cannot be compared to a bool value.

What does this code print?

fmt.Println(2.9 > 2.9)
fmt.Println(2.9 <= 2.9)
  1. true true
  2. true false
  3. false true CORRECT
  4. false false
  5. error

What does this code print?

fmt.Println(false >= true)
fmt.Println(true <= false)
  1. true true
  2. true false
  3. false true
  4. false false
  5. error CORRECT

5: That's right. Bool values are not ordered values, so they cannot be compared using the comparison operators.

How to fix this program without losing precision?

package main
import "fmt"

func main() {
    weight, factor := 500, 1.5
    weight *= factor

    fmt.Println(weight)
}
  1. It cannot be fixed
  2. weight *= float64(factor)
  3. weight *= int(factor)
  4. weight = float64(weight) * factor
  5. weight = int(float64(weight) * factor) CORRECT

1: It can be fixed.

2: Type mismatch: weight is int.

3: Lost precision: factor will be 1.

4: Type mismatch: weight is int (cannot assign back).

5: That's right. The result would be 750.

你可能感兴趣的文章

go Which one below is not one of the logical operators of Go?

go Why error handling is needed?

go What does "control flow" mean?

go How to fix this program?

  • 所属分类: 后端技术
  • 本文标签: golang
  • 版权声明: 本文链接 https://seaxiang.com/blog/AtmRzkOc