Несколько вопросов о Go Language - PullRequest
0 голосов
/ 08 января 2011

У меня есть несколько вопросов о языке программирования Go:

  1. Как в языке реализовано добавление переменных типа int и float?
  2. Есть ли разница между последним вопросом и добавлением литералов int и float (например, 3 + 2.1)?
  3. Каковы все последовательности на языке Go?

Ответы [ 3 ]

4 голосов
/ 08 января 2011

Для ответов на свои вопросы прочитайте Спецификация языка программирования Go .

Например, для первых двух вопросов начните с чтения разделов Числовые типы , Арифметические операторы и Преобразования .

Для третьего вопроса начните с чтения разделов Заявления и раздела Обработкапаникует .

3 голосов
/ 08 января 2011
  1. Нет неявных преобразований типов;вам придется явно решить, какой тип сложения вы хотите, и преобразовать один или оба операнда в соответствующий тип.
  2. Вы можете ответить на это простым экспериментом.

    package main
    import "fmt"
    func main() {
        var i int = 3 + 2
        var f float = 3 + 2.1
        fmt.Printf("%d %f\n", i, f)
    }
    

    Есливы пытаетесь заменить 2 на 2.1, код не компилируется.

  3. Что вы подразумеваете под «секвенсорами»?

0 голосов
/ 27 января 2011

После тщательного изучения и помощи коллег я нашел ответ на третий вопрос: Секвенсоры - это конструкция, которая изменяет нормальный поток управления. в частности, в порядке последовательности:

  1. Гото
  2. Перерыв
  3. продолжение
  4. возвращение
  5. проваливается
  6. идти
  7. Перенести
  8. и паника (исключение). Спасибо всем за помощь.
...