• Как в Go добавлять запись в json?

    Сначала парсим файл насроек в структуру, потом добавляем туда нового клиента, потом маршалим обратно в json.

    package main
    
    import (
    	"encoding/json"
    	"io/ioutil"
    	"log"
    )
    
    type Client struct {
    	ClientId string
    	Date     string
    }
    
    type Settings struct {
    	Clients []Client
    }
    
    const settingsFilename = "settings.json"
    
    func main() {
    	rawDataIn, err := ioutil.ReadFile(settingsFilename)
    	if err != nil {
    		log.Fatal("Cannot load settings:", err)
    	}
    
    	var settings Settings
    	err = json.Unmarshal(rawDataIn, &settings)
    	if err != nil {
    		log.Fatal("Invalid settings format:", err)
    	}
    
    	newClient := Client{
    		ClientId: "123",
    		Date:     "2016-11-17 12:34",
    	}
    
    	settings.Clients = append(settings.Clients, newClient)
    
    	rawDataOut, err := json.MarshalIndent(&settings, "", "  ")
    	if err != nil {
    		log.Fatal("JSON marshaling failed:", err)
    	}
    
    	err = ioutil.WriteFile(settingsFilename, rawDataOut, 0)
    	if err != nil {
    		log.Fatal("Cannot write updated settings file:", err)
    	}
    }
    Ответ написан
    4 комментария
  • Выбор языка программирования для написания 2d игр?

    @LiguidCool
    Как и все многие ребята моего возраста я увлекся программированием.

    Прямо многие?

    Выучил html, css, немного php и javascript (и query).

    (я 11 класс)

    2i063yo.jpg
    Ну начнем с того что программирование тут только JS. И то какие-нибудь двигающиеся менюшки на JQ к программированию имеют опосредственное отношение. html и css языки разметки (не программирования). JQuery вообще библиотека аля Lego, написание на ней к JS имеет такое себе отношение.

    Хочу попробовать для начала написать несколько простеньких игр, типа змейки, крестики-нолики, тетриса... а какой же язык учить?

    А на самом деле пофиг какой. Это все реализуется почти на всем.
    Начал я с web, как раньше так и сейчас считаю, что будущее за WEB.

    А собственно к чему тогда вопрос? Раз уж выучил веб, на нем и делай.
    Подскажу - есть тот же Canvas, WebGL. Вот вам пример.
    Ответ написан
    Комментировать